За последние 24 часа нас посетили 20608 программистов и 1097 роботов. Сейчас ищут 403 программиста ...

Apach при переносе на виртуальный сервер, перестал обрабатывать ссылки через .htacces

Тема в разделе "Настройка веб-сервера", создана пользователем Artur_hopf, 6 мар 2020.

  1. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    Добрый день. Подскажите пожалуйста, почему ссылки внутри сайта могут перестать обрабатываться через .htacces

    Сервер apach.

    .htacces
    Код (Text):
    1.  
    2. ErrorDocument 404 /404.php
    3. RewriteEngine On
    4. RewriteCond %{HTTP:PORT} !^443$
    5. RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    6. Redirect 301 /en/ https://eng.site.com
    7. <IfModule mod_php7.c>
    8.   php_flag session.use_trans_sid off
    9.   #php_value display_errors 1
    10.   #php_value mbstring.internal_encoding UTF-8
    11.   php_value max_input_vars 100000
    12. </IfModule>
    13.  
    14. <IfModule mod_rewrite.c>
    15.   Options +FollowSymLinks
    16.   RewriteEngine On
    17.   RewriteCond %{REQUEST_FILENAME} !-f
    18.   RewriteCond %{REQUEST_FILENAME} !-l
    19.   RewriteCond %{REQUEST_FILENAME} !-d
    20.   RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$
    21.   RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]
    22.   RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
    23. </IfModule>
    24.  
    25. <IfModule mod_dir.c>
    26.   DirectoryIndex index.php index.html
    27. </IfModule>
    httpd.conf
    PHP:
    1. ServerRoot "/etc/httpd"
    2. Listen 80
    3. Include conf.modules.d/*.conf
    4. User apache
    5. Group apache
    6. ServerAdmin root@site.com
    7. ServerName site.com:80
    8. DocumentRoot "/var/www/"
    9.  
    10. <Directory "/var/www">
    11.     Options Indexes FollowSymLinks
    12.     AllowOverride none
    13.     Require all granted
    14. </Directory>
    15.  
    16. <IfModule dir_module>
    17.     DirectoryIndex index.html
    18. </IfModule>
    19.  
    20. <Files ".ht*">
    21.     Require all denied
    22. </Files>
    23.  
    24. ErrorLog "logs/error_log"
    25. LogLevel warn
    26.  
    27. <IfModule log_config_module>
    28.  
    29.     LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    30.     LogFormat "%h %l %u %t \"%r\" %>s %b" common
    31.  
    32.     <IfModule logio_module>
    33.       LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    34.     </IfModule>
    35.  
    36.     CustomLog "logs/access_log" combined
    37. </IfModule>
    38.  
    39. <IfModule alias_module>
    40.     ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
    41. </IfModule>
    42.  
    43. <Directory "/var/www/cgi-bin">
    44.     AllowOverride None
    45.     Options None
    46.     Require all granted
    47. </Directory>
    48.  
    49. <IfModule mime_module>
    50.     TypesConfig /etc/mime.types
    51.     AddType application/x-compress .Z
    52.     AddType application/x-gzip .gz .tgz
    53.     AddType text/html .shtml
    54.     AddOutputFilter INCLUDES .shtml
    55. </IfModule>
    56.  
    57. AddDefaultCharset UTF-8
    58.  
    59. <IfModule mime_magic_module>
    60.     MIMEMagicFile conf/magic
    61. </IfModule>
    62.  
    63. EnableSendfile on
    64.  
    65. IncludeOptional conf.d/*.conf
    site.conf
    PHP:
    1. <VirtualHost *:80>
    2.     RewriteEngine On
    3.     RewriteCond %{HTTP:PORT} !^443$
    4.     RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
    5. </VirtualHost>
    6.  
    7. <VirtualHost *:443>
    8.     ServerAdmin webmaster@site.com
    9.     DocumentRoot "/var/www/site.com"
    10.     ServerName site.com
    11.     ServerAlias www.site.com
    12.  
    13.     <Directory "/var/www/site.com">
    14.         AllowOverride All
    15.         Order allow,deny
    16.         Allow from all
    17.     </Directory>
    18.  
    19.     SSLEngine on
    20.     SSLCertificateFile /etc/ssl/certs/apache.pem
    21.     SSLCertificateKeyFile /etc/ssl/private/apache.pem
    22. </VirtualHost>
    Все ссылки в гугле указывают на то что надо добавить в VirtualHost AllowOverride All. Но это не помогло.
    Вот в этой ссылке вроде описано что то похожее ,но не помогло
    https://rtfm.co.ua/apache-ne-obrabatyvaetsya-fajl-htaccess/
     
    #1 Artur_hopf, 6 мар 2020
    Последнее редактирование: 6 мар 2020
  2. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.787
    Симпатии:
    646
    Какие ссылки?

    Перезагрузку настроек/рестарт сервера делал?
     
  3. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    @miketomlin рестар сервера да, настройки он подхватывает при рестарте.

    Ссылки виртуальные не работают, которые генерятся с помощью bitrix/urlrewrite.php
     
  4. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.787
    Симпатии:
    646
    mod_rewrite вообще включен?
     
  5. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    да, через phpinfo он в списке отображается
     
  6. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.787
    Симпатии:
    646
    Пропиши на всяк. случай FollowSymLinks в вирт. хосте (блоке Directory), как это обычно делается (не знаю, как это наследуется или подхватывается из .htaccess):
    Код (Text):
    1.      Options FollowSymLinks
    2.      AllowOverride All
    3.      Require all granted
    Require – это современный аналог Order/Allow/Deny.
     
  7. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    Делал, сайт сразу отрубается)
    --- Добавлено ---
    Все что в гугле нашел все перепробовал, сайт или вырубается или просто ссылки не пашут
     
  8. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.787
    Симпатии:
    646
    Тогда разгребай свой .htaccess по частям на тестовом сайте. Этот файл, кстати, как у тебя называется? А то ты в теме и в стартовом посте его неправильно назвал ;)
     
  9. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    Правильно называется, он до него не доходит я думаю. htaccess стандартный его bitrix создает. Раньше же работало без виртуалки.

    http://htaccess.ru/cms/bitrix/
     
  10. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.787
    Симпатии:
    646
    Не думай. Сделай в том числе и отдельный вирт. хост с директивами по феншую и тестовым index.php, потом создавай и наращивай .htaccess, а пользоваться фиг знает какими заготовками с левых сайтов – себя не уважать (лучше обратиться к документации битрикса и конкретного сайта, с настройкой которого у тебя возникли проблемы).
    --- Добавлено ---
    Успехов.
    --- Добавлено ---
    P.S. Тестовый вирт. хост можно сделать на 80-м порте без SSL-директив.
     
    Artur_hopf нравится это.
  11. Artur_hopf

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405