Всем привет.
Ситуация такая. Сайт на 1С-Битрикс. Подключен SSL-сертификат от Comodo. Чтобы избавиться от дублей и сделать автоматический редирект c www -> без www в htaccess в был прописан следующий код:
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
RewriteCond %{HTTP:SSL} !1
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$
RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]
RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
</IfModule>
До вчерашнего дня функционал работал прекрасно,
то есть:
1.
site.ru ->
https://site.ru
2.
www.site.ru ->
https://site.ruв том числе это касалось новостных рубрик:
1.
site.ru/news/tra-la-la ->
https://site.ru/news/tra-la-la/
2.
www.site.ru/news/tra-la-la ->
https://site.ru/news/tra-la-la/
Вчера при открытии любой новости (детальная страница) был сначала 301 редирект: HTTP/1.1 301 Moved Permanently Location:
https://site.ru/404.php , а затем HTTP/1.1 404 Not Found
На сайте не менялось ничего, другие сайты с точно такими же записями htaccess работают как надо. Не могу понять в чем причина появления 404 ошибки в детальной.
Если закомментить эти строки, то детальная новости отображается:
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
RewriteCond %{HTTP:SSL} !1
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L,R=301]
но как и ожидается, нет ни SSL-редиректа, ни www.
В причина такого поведения? Как победить это безобразие?)