如何从PHP中输入错误代码404? 在我的htaccess中,我有一个规则将标签重定向到类别,但是如果在搜索数据库中的类别后,如果不存在,如何重定向到404错误页面并发送正确的标题?从404找不到PHP
RewriteRule ^([a-z]{2})/(.*)$ index.php?lang=$1&id=$2 [L]
我该如何处理这个网址?
site.com/en/this-category-not-exists
如何从PHP中输入错误代码404? 在我的htaccess中,我有一个规则将标签重定向到类别,但是如果在搜索数据库中的类别后,如果不存在,如何重定向到404错误页面并发送正确的标题?从404找不到PHP
RewriteRule ^([a-z]{2})/(.*)$ index.php?lang=$1&id=$2 [L]
我该如何处理这个网址?
site.com/en/this-category-not-exists
如果记录不存在,您可以使用此代码:如果你想使用外部
<?php
header("HTTP/1.0 404 Not Found");
echo 'This page was not found';
?>
404错误页面,你可以用这个来代替:
<?php
header("HTTP/1.0 404 Not Found");
include("404errorpage.php");
?>
另外,你可以重定向到使用
header("Location: http://example.com/404errorpage.php");
的404错误页面,但你得把
header("HTTP/1.0 404 Not Found");
进入404错误页面
有什么办法重定向到我的404.php页面?重定向发送404头? – mauriblint 2014-11-02 16:57:06
@mauriblint你可以重定向到404页面,并在那里放置404 Not Found标头:我已经用这个替代方案更新了我的答案 – Stubborn 2014-11-02 16:57:59
+1这是使它在PHP 5.3中工作的正确方式。 – anubhava 2014-11-02 17:02:09
从PHP >= 5.4.0
开始,你可以使用http_response_code function此:
if ($notExistDB) {
http_response_code(404);
exit;
}
我的PHP 5.3中未定义的函数,其他方式? – mauriblint 2014-11-02 16:56:12
嗯,对于PHP 5.3,您将不得不使用'Header'功能,请参阅其他答案。 – anubhava 2014-11-02 16:59:30
试试这个标题(“HTTP/1.0 404 Not Found”) – 2014-11-02 16:57:03