.htaccess не перенаправляет на 404.php вместо этого показывает имя страницы

Я пытаюсь сделать пользовательскую страницу 404 для моего сайта и у меня есть .htaccess файл в корневом каталоге, где я использую это правило

ErrorDocument 404 404.php //I want to redirect to 404

поэтому, когда я изменяю допустимое имя файла, например home.php to home1.php он не перенаправляет меня, а эхо 404.php на этой странице

Примечание: 404.php находится только в корневом каталоге

3 ответов


это должно помочь

RewriteEngine on
ErrorDocument 404 http://www.yoursite.com/404.php

в своем .htaccess файл, вы должны иметь возможность использовать:

RewriteEngine on
ErrorDocument 404 /404.php

вы можете установить дополнительные документы об ошибках с помощью этого метода, но я бы поместил их в отдельный каталог ошибок:

ErrorDocument 400 /errors/400.php
ErrorDocument 401 /errors/401.php
ErrorDocument 403 /errors/403.php
ErrorDocument 404 /errors/404.php
ErrorDocument 500 /errors/500.php

вы можете сделать следующее для 404 старых страниц с помощью htaccess

RewriteEngine on
ErrorDocument 404 /404.php

но я бы лично порекомендовал

RewriteEngine on
RewriteRule home.php /home1.php [R=301,L]

как это сделает 301 перенаправление со старого имени страницы на новое имя страницы, так что любые кэшированные результаты поисковой системы все равно окажутся на правильной странице, а не на 404