Я хочу перенаправить все не доступные ссылки на страницу error.php
вот что я хочу
если кто-то вошел в ссылку, которая не существует, то вместо 404 страницы ошибки веб-хоста я хочу перенаправить их на страницу с ошибкой
www.example.com/wrong_page.php
следует перенаправить на
www.example.com/error.php
У вас есть 2 варианта перенаправления неправильного REQUEST_URI
на страницу с ошибкой
1) Внутренняя переадресация
Ваш веб-сервер будет внутренне перенаправлять неверный запрос на страницу с ошибкой,
Попробуйте это в своем WebRoot/.htaccess
RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ /error.php [NC,L]
2) Внешнее перенаправление
Ваш веб-сервер будет внешне перенаправлять неверный запрос на страницу с ошибкой,
Или попробуйте это в своем WebRoot/.htaccess
RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ http://example.com/error.php [R,NC,L]
Условия перезаписи проверяют, не является ли запрошенное имя файла не каталогом или файлом, а затем RewriteRule перенаправит его на страницу с ошибкой.
Вы можете добавить эту директиву в свой файл .htaccess
:
ErrorDocument 404 /error.php
Вам нужно настроить его в файле .htaccess
. Вы можете использовать генератор .htaccess или просто добавить эту строку в новый файл .htaccess:
//Custom 404 errors ErrorDocument 404 error.php
Помимо страницы с ошибкой, вы также можете отключить список каталогов или изменить страницу по умолчанию в каталоге. При этом используется файл .htaccess. Если вы новичок в этом, просто используйте ссылку, о которой я упомянул.
Вот мой .htaccess
<Files .htaccess> order allow,deny deny from all </Files> IndexIgnore */* ErrorDocument 400 /err_400.php ErrorDocument 401 /err_401.php ErrorDocument 403 /err_403.php ErrorDocument 404 /err_404.php ErrorDocument 500 /err_500.php
существует много типов страниц с ошибками (просто Google). Вы можете обращаться с ними с помощью .htaccess. Например
ErrorDocument 500 /errordocs/500.html ErrorDocument 404 /errordocs/404.html ErrorDocument 401 /errordocs/401.html ErrorDocument 403 /errordocs/403.html