Как сделать редирект в 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]

Если это не файл и не директория, то перенаправляем на главное зеркало

→ Ссылка