我在创建自定义404时遇到问题。
所以,我试过.htaccess:
ErrorDocument 404 http://blablabla.com/404.php
它在工作!
但问题是它使用REDIRECT。每当我输入blablabla.com/sdkfsdkjfksdhfksd
它重定向到blablabla.com/404.php
它正在更改当前网址,这并不酷。它太丑了。
我想要做的事情:
每当我输入blablabla.com/sdkfsdkjfksdhfksd
没有重定向,保留同一网址。只需require_once
自定义404.php
页面。
所以,我试试这段代码:
<?php
header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found");
require_once "404.php";
?>
我把它放在任何代码之前。 而这种方法不起作用。它显示在每一页上。我尝试输入URL blablabla.com/sdfjnsfjnksdf
页面显示
找不到对象!
在此服务器上找不到请求的URL。如果您输入了URL 请手动检查您的拼写,然后重试。
如果您认为这是服务器错误,请与网站管理员联系。
如何完成这项工作?
我的代码出了什么问题?
提前感谢...
答案 0 :(得分:3)
如果你想留在同一个Url上,请使用绝对路径而不是错误处理程序的完整URL。
更改
ErrorDocument 404 /404.php
到
label
{
display: inline;
}
这会将错误页面重写为/404.php
答案 1 :(得分:2)
工作解决方案:
.htacces:
ErrorDocument 404 /404.php
答案 2 :(得分:1)
这就是我做的事情
ErrorDocument 404 /404.php
网址相同,但会打印404.php
页面。所以,这可能就是你想要的。