长话短说,我在一个显示评论的网站上有动态页面。如果没有与特定城市/县/区域/等相关联的评论,则mysql查询返回0行,触发以下代码:
if (!$validRevQuery) {
header("HTTP/1.0 404 Not Found");
include("http://{$PDS['site']}/404.php?request=".urlencode($_SERVER['REQUEST_URI']));
exit;
}
在某些webhost上,这会触发“URL文件访问被禁用”错误。这很好,但是在允许访问URL文件的文件上,404文件被包含并正确显示。我稍微更改了代码以显示如下的绝对路径:
if (!$validRevQuery) {
header("HTTP/1.0 404 Not Found");
$_GET['request'] = urlencode($_SERVER['REQUEST_URI']);
include($_SERVER['DOCUMENT_ROOT']."/404.php");
exit;
}
现在,它给了我通用的“哎呀!这个链接似乎被打破了。”错误页面。 (我有谷歌工具栏,所以这可能会有所不同,具体取决于浏览器和插件)。不知道为什么会这样,所以任何帮助都表示赞赏!
答案 0 :(得分:43)
您的问题与您所包含的内容无关:这是您的网页太小。
根据我的经验,当网页仅发出404标头且少于定义的内容字节数时,会显示Chrome内置的“糟糕”页面,就像在Internet Explorer中一样(我认为它是512字节以内) IE,不知道Chrome中的限制)。
我倾向于使用HTML注释中包含的几百字节无意义内容填充我的404页面,以确保显示自定义404页面。
当然,也可以利用这个机会获得一些很酷的ASCII Art!
<!-- oooo ooo
$ $ $ $
"o $ $ o""
o " "ooooo
oo "" o$
o o oo "
$$ $o$""$o ooo$
$"$ o $ "$ $
o$o $ "$ $ $ $ $
$$$o $$ "$ o$ $ o $o
"$ ""o "$ "o $$ "o o"
$o $$ "o $ "oo $" $ o$"
"$ $o "o$$ "o$ $o$" oo$
"o "$o "$o $"$$
" oo$$$$$$$oo $oo$$"" o" o
""""""""" o$$$$$$$$$$$"$o o"""$o$$ o$
ooo$$$"o$$$$$$$$$$$$$$ "$o o o$$$o $ $ o$
o$$$$$$$$$$$$$$$$$$$$$$$$ "oo o ""o "$ $
$$$$$$$$$$$$$$$$$$$$$$$$$$ "$o o$$"""$ " oo""o
o""""$$$$$$$$$$$$$$$$$$$$$$" ""$o"$o " o$
"$$$$$$$$""""$""$$$"" "$oo$""$o o$"""
$$$$$$$" $""""$" o""""
$"""""$ooooo ooooo$$$$$$$ o$" o"
$ """" oooo$$$$$$$$$$$$$$" $" o"
oo$ oooo$$$$$$$$$$$"""""$$$$" o$" o$"
"$ $o$$$$$$$$$$$$$""$ o$$$"oooo$" o"
"o$ "$$$$$$$$$$$$ $$o$"$$$ $"
"$ ""$$$$$$$$$ o$"$$$ "$$o$$
"o ""$$$$$$o o$$$$ ""$o """$
"$o ""$$$$$$o" o$$$$oo o$$$$
""$oo $$" "$$$"" ooooooo$
""""$" o$" oo$$$$$""$$
$ oo$" o$$$$$"" ooo$
$o$" o$$$$" oo$$$$$$$o
$$ o$$$" o$$$$$$"""""$o
"o$$" o$$$$"" o$$$$$$$o
"$oo$$$$" o$$$$$""" o$o
"$$$" oo$$$"" oo$$$$$$$
ooooo$oo$$$"" oo$$$$"""$$""
$"oooo $$$" o$$$$"" $
o$"o$ $$"oo$$"" " o$
$ o$$o $$o$$" oo$$
$ $$$$ $$$$$$$$$$$$$$$$$$$$
$ $$$$ $$$$$$$$$$$$$$$$$$$$"
$ $$$$ $$$$$$$$$$$$$$$$$$$$
$ "" ""$$$$$$$$$"""$""""
$o $"$" " $"
$o $$ $o o$
"$o o$$ ""$$$"
"""""" -->
答案 1 :(得分:-4)
尝试使用带有位置标题的307或301进行重定向