我有一个网络应用程序,我想将用户重定向到404页面,而实际上他们没有进入404页面。这可能吗?
我将这行代码添加到我的.htaccess文件中:
ErrorDocument 404 /404.php
因此,当用户输入(我的网站上不存在的页面)时:
shareit.me/jsdhjfkhoe
他们被重定向到:
shareit.me/404.php
当网址仍然存在时,是否有办法重定向到404:
shareit.me/jsdhjfkhoe
答案 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自定义页面。希望它有所帮助。