.htaccess不重定向到404.php,而是显示页面名称

.htaccess不重定向到404.php,而是显示页面名称,php,.htaccess,http-status-code-404,Php,.htaccess,Http Status Code 404,我试图为我的网站创建一个自定义404页面,并且在使用此规则的根目录中有.htaccess文件 ErrorDocument 404 404.php//我想重定向到404 因此,当我将有效文件名(如home.php更改为home1.php时,它不会重定向我,而是在该页面上显示echo的404.php 旁注:404.php仅在根目录中这样就可以了 RewriteEngine on ErrorDocument 404 http://www.yoursite.com/404.php 在.htaccess

我试图为我的网站创建一个自定义404页面,并且在使用此规则的根目录中有
.htaccess
文件

ErrorDocument 404 404.php//我想重定向到404

因此,当我将有效文件名(如
home.php
更改为
home1.php
时,它不会重定向我,而是在该页面上显示echo的
404.php

旁注:
404.php
仅在根目录中

这样就可以了

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

您可以使用htaccess对404个旧页面执行以下操作

RewriteEngine on
ErrorDocument 404 /404.php
但我个人建议

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

由于这将执行从旧页面名到新页面名的301重定向,因此任何缓存的搜索引擎结果仍将位于正确的页面,而不是在我的情况下使用Ubuntu发行版点击404,如果指令
ErrorDocument
位于
htdocs
目录中的
.htaccess
或其他地方,则该指令无效:结果表明,该指令应放在
指令内正确的
/etc/apache/sites enabled/*.conf
文件中(例如,如果网站提供https页面,则在指令
中).

尝试给它一个尾随斜杠,因此:ErrorDocument 404/404。php@Nikola尝试但没有Luckvuhooo我在本地,
目录/404.php
为我工作,+1,将标记你的答案为正确,因为我也在本地,但如果我键入类似错误文档403/index.php,它会将我重定向到xampp index.php。我的
.htaccess
是在我的网站文件夹中。请帮助。。