我需要强制Apache在.htaccess中发送200 OK而不是404.我不知道这是否可能。我在一篇文章中找到了以下文字,但它不起作用我不知道为什么......
来自:http://www.askapache.com/htaccess/apache-status-code-headers-errordocument.html
在名为404的主Web目录中创建一个空白文件。可以为空。 将其添加到.htaccess文件中:
Redirect 200 /404
ErrorDocument 404 /404
这会将Apache ErrorDocument更改为/ 404文件。但是Redirect行导致请求/ 404发出200 OK响应而不是404.
如果这不起作用,则无疑会重写。因此,如果是这样的话,请在前两行中添加此内容,但要高于.htaccess文件中的任何其他重写行:
Options FollowSymLinks ExecCGI
RewriteEngine On
RewriteBase /
# If the requested file doesnt exist
# and if the requested file is not an existing directory
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^[^4]* /404 [L,S=4000]
答案 0 :(得分:0)
为了发送200状态而不是通常的404,您可以使用此重写规则:
ErrorDocument 404 default
RewriteEngine On
RewriteBase /
RewriteRule ^404\.html/?$ - [L]
# If the requested file doesnt exist
# and if the requested file is not an existing directory
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . 404.html [L]