我试着寻找答案,但没有运气。基本上我有一个.htaccess文件,它指定了一个处理404s的脚本:
ErrorDocument 404 /cgi-bin/handle_errors.cgi?404
我有另一个脚本,它通过重写规则根据查询字符串处理页面请求:
RewriteRule ^/path/handler/(.*)$ /cgi-bin/path_handler?$1 [QSA,L]
这样
insaner.com/path/handler/123
将显示由以下内容生成的内容:
insaner.com/cgi-bin/path_handler?123
如果满足“123”的某些条件。如果不是,我想发出“404”状态,但是由apache本身处理(实际上由/cgi-bin/handle_errors.cgi?404
处理)。那么,这样的事情可能吗?我知道我可以在打印404状态后从脚本中调用/cgi-bin/handle_errors.cgi?404
,但有没有办法让apache处理404?即,如果我稍后在.htaccess中注释掉该行,那该apache会发出标准的404响应吗?
另外,是
print "Status: 404\n\n";
对浏览器来说足够了吗?或者我需要做什么:
print "Status: 404 Not Found\n\n";
或类似的东西?