我的站点主目录中有一个 404.php 文件,我使用 header('Location: 404.php');
有一段时间,直到有人说你应该使用 header('HTTP/1.0 404 Not Found');
代替.所以我用它替换它,然后添加: ErrorDocument 404/404.php
到我的 apache 配置文件并重新启动服务器但它不起作用.
I have a 404.php file in my site's main directory and I was using header('Location: 404.php');
for a while until someone said that you should use header('HTTP/1.0 404 Not Found');
instead. So I replaced it with that and then added: ErrorDocument 404 /404.php
to my apache config file and restarted the server but it doesn't work.
我尝试了不同的变体,包括 ErrorDocument 404 404.php
和 ErrorDocument 404 mywebite/404.php
但无济于事.
I tried different variations including ErrorDocument 404 404.php
and ErrorDocument 404 mywebite/404.php
but to no avail.
我的意思是不工作是早期使用 header('Location: 404.php');
它会重定向到 404.php 文件但是当我用 header('HTTP/1.0 404 Not Found');
它似乎只是跳过该行而不做任何事情.它肯定不是重定向.我要求重定向的原因是,如果 $_GET 标头值无法识别,则页面应为 404.
What I mean by doesn't work is that earlier when using header('Location: 404.php');
it would redirect to the 404.php file but when I replace it with header('HTTP/1.0 404 Not Found');
it seems to just skip over the line and not do anything. It most certainly is not redirecting. The reason I am calling for the redirect is because if a $_GET header value is not recognized the page should 404.
不,它可能确实有效.它只是不容易看到.而不是 just 使用 header
调用,尝试这样做,然后包括 404.php
,然后调用 die
.
No, it probably is actually working. It's just not readily visible. Instead of just using the header
call, try doing that, then including 404.php
, and then calling die
.
您可以通过使用以下内容创建一个名为 test.php
的 PHP 文件来测试 HTTP/1.0 404 Not Found
是否有效:
You can test the fact that the HTTP/1.0 404 Not Found
works by creating a PHP file named, say, test.php
with this content:
<?php
header("HTTP/1.0 404 Not Found");
echo "PHP continues.
";
die();
echo "Not after a die, however.
";
然后用 curl -D/dev/stdout
查看结果显示:
Then viewing the result with curl -D /dev/stdout
reveals:
HTTP/1.0 404 Not Found
Date: Mon, 04 Apr 2011 03:39:06 GMT
Server: Apache
X-Powered-By: PHP/5.3.2
Content-Length: 14
Connection: close
Content-Type: text/html
PHP continues.
这篇关于header('HTTP/1.0 404 Not Found');什么都不做的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!