Исправить htaccess
В строках 9-11 происходит перенаправление c www на без-www и перенаправление с http на https
Ошибка находится в строках 9-11 .
Пример ошибки:
https://travelandia.ru/user/reg.php?rurl=https://travelandia.ru/lazarevskoe/gostevye-doma/medeya-24411/addreview/
Необходимо исправить ошибку, сохранив существующий функционал.
Нужно, чтобы правило перенаправления на страницы со слешем не действовало для несушествующих файлов с расширениями картинок, а сразу выдавалась ошибка 404.
Сейчас при удалении фотографий (с расширениями jpg, jpeg, png) происходит перенаправление на несуществующую страницу со слэшем, а уже затем выдается ошибка 404.
Вы можете предложить более лаконичные решения.
Что требуется от htaccess:
перенаправление с www на без-www
перенаправление с index.php , index.html , index.htm на главную
перенаправление со страниц без слэш в конце на страницы со слэшем.
Код файла:
<IfModule mod_rewrite.c> AddDefaultCharset UTF-8 RewriteEngine On Options +FollowSymlinks RewriteBase / RewriteEngine On RewriteCond %{HTTPS} off [OR] RewriteCond %{HTTP_HOST} ^www\. [NC] RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC] RewriteRule ^ https://%1%{REQUEST_URI} [L,NE,R=301] #в случае index.php: RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/ RewriteRule ^index\.php$ https://travelandia.ru/ [R=301,L] #в случае index.html: RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html\ HTTP/ RewriteRule ^index\.html$ https://travelandia.ru/ [R=301,L] RewriteCond %{THE_REQUEST} // # Проверяем, повторяется ли слеш (//) более двух раз. RewriteRule .* /$0 [R=301,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !(.*)/$ RewriteRule ^(.*[^/])$ $1/ [L,R=301] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php [L,QSA] </IfModule>