重定向到404页面

时间:2013-12-02 18:12:52

标签: php apache .htaccess redirect

我有一个网络应用程序,我想将用户重定向到404页面,而实际上他们没有进入404页面。这可能吗?

我将这行代码添加到我的.htaccess文件中:

ErrorDocument 404 /404.php

因此,当用户输入(我的网站上不存在的页面)时:

shareit.me/jsdhjfkhoe

他们被重定向到:

shareit.me/404.php

当网址仍然存在时,是否有办法重定向到404:

shareit.me/jsdhjfkhoe

4 个答案:

答案 0 :(得分:1)

如果它们不存在,则使用此选项将所有路径传递给404.php并保留URL:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /404.php [L]

在404.php文件中设置此标题。

header("HTTP/1.0 404 Not Found");

答案 1 :(得分:0)

这一行:

ErrorDocument 404 /404.php

不会更改客户端浏览器中的网址,因为它只会internal rewrite/404.php

我怀疑你的.htaccess中还有其他一些规则来执行此完全重定向。如果您发布完整的.htaccess,那么我可以进行调查。

答案 2 :(得分:0)

实际上这应该可以解决问题:

ErrorDocument 404 /404.html

- >尝试在root中使用名为404.html的html元素!

如果您想查看完整的实施,请查看此内容:https://github.com/h5bp/html5-boilerplate/blob/master/.htaccess

否则,如果有任何不清楚的地方,您可以查看文档: http://httpd.apache.org/docs/current/mod/core.html#errordocument

答案 3 :(得分:0)

如果您想制作自己的自定义错误404页面。这就是你需要写下你的.htaccess。

----------- .htaccess ----------------

  # 1 ---- Establish a custom 404 File not Found page ----

  ErrorDocument 404 /filenotfound.php 

  # 2 ---- Prevent directory file listing in all of your folders ----

  IndexIgnore *

----------- .htaccess ----------------

filenotfound.php是您自己的404自定义页面。希望它有所帮助。