【发布时间】:2011-12-01 14:38:13
【问题描述】:
请告诉我为什么这不起作用。它正在工作,但莫名其妙地决定停止工作。 在 php 中,如果找不到这样的页面,我会发出 404。
if(checkPageExists($escaped_url_page_name)){
header('HTTP/1.1: 200 OK');
}else{
header("HTTP/1.0 404 Not Found");
die;
}
我的 htaccess 是
php_flag magic_quotes_gpc Off
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1 [L]
ErrorDocument 404 /404.php
404 页面位于根目录,名称为 404.php。五分钟前是这样,但什么都没有改变,为什么这行不通。我已经用 fiddler 测试了页面,它确实抛出了 404,但重定向没有发生。我实现了友好的 url,但我认为这不会影响它,因为 htaccess 中的“/”指的是我认为的站点的物理根目录。提前致谢。
【问题讨论】:
-
这是您的 .htaccess 文件中的唯一行,还是有其他行可能影响 ErrorDocument 行?
标签: php .htaccess redirect error-handling http-status-code-404