Как сделать редирект в htaccess?
Такая проблема При переходе на сайт https:/site.ru/* - показывает главную страницу а не 404. До этого были множественные слэши и знак вопроса https://site.ru/? Решил проблему так.
RewriteCond %{THE_REQUEST} //
# Проверяем, повторяется ли слеш (//) более двух раз.
RewriteRule .* /$0 [R=301,L]
# Исключаем все лишние слеши.
# Убираем знак вопроса в конце URL (/?)
RewriteCond %{THE_REQUEST} ^[^\s]+\s+[^?]*?\?
RewriteCond %{QUERY_STRING} ^$
RewriteRule .? %{REQUEST_URI}? [R=301,L]
Но странно, при входе https:/site.ru/* , по идее должен отдавать 404.
Как правильно сделать перенаправление?
Ответы (1 шт):
Автор решения: Андрей ProjectSoft
→ Ссылка
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ https://%{SERVER_NAME}/ [L,R=301]
Если это не файл и не директория, то перенаправляем на главное зеркало