这不是我确切的PHP,因为它相当复杂,但它是一般的想法。
if($_GET['page'] == ".htaccess"){
header("HTTP/1.0 404 Not Found");
}
发生这种情况时,Apache不会加载.htaccess文件中设置的404页面。我知道404有效,因为当我去一个不存在的页面时,我得到指定的404页面。
有没有办法在不手动转储404页面文件内容的情况下加载指定的404页面?
答案 0 :(得分:2)
由于Apache已经确定该文件确实存在,因此它不会再次查找404。
一种解决方法实际上可能是将Location
- 标头发送到实际不存在的页面并让Apache处理它。另一个可能是通过PHP获取404页面内容并将其与Status: 404
- 标题
答案 1 :(得分:0)
这可能有效
if (strstr($_SERVER['REQUEST_URI'],'.htaccess')){
header('HTTP/1.0 404 Not Found');
exit();
}