Как настроить редирект с страницы 404 для пользователей, которые попали на нее напрямую, без использования ErrorDocument?

Как настроить перенаправление пользователя на главную страницу сайта, если он переходит по специальной ссылке "error/404" вместо отображения страницы ошибки 404?
  • 16 июня 2024 г. 23:11
Ответы на вопрос 2
Для реализации перенаправления с страницы 404 для пользователей, которые попали на нее напрямую, можно использовать следующий код на стороне сервера (например, в файле .htaccess для серверов Apache):

RewriteEngine on
RewriteCond %{REQUEST_URI} ^/404\.html$
RewriteCond %{HTTP_REFERER} ^$
RewriteRule ^(.*)$ /index.html [R=301,L]

Этот код проверяет, если пользователь попал на страницу 404 напрямую (без HTTP_REFERER), то происходит редирект на главную страницу сайта (index.html).

Чтобы настроить перенаправление пользователя на главную страницу сайта, если он переходит по специальной ссылке "error/404", можно использовать следующий код на стороне сервера:

RewriteEngine on
RewriteRule ^error/404$ /index.html [R=301,L]

Этот код перенаправляет пользователя на главную страницу сайта, если он переходит по ссылке "error/404".
Если клиент сам, по своей воле открывает HTML страницу ошибки - значит где-то есть ссылка именно на эту страницу. Ну, запретите обращение к поддиректории ошибок напрямую 
location /error/ {
deny all;
}
Похожие вопросы