php – Apache报告不存在的WordPress URL的200状态

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – Apache报告不存在的WordPress URL的200状态脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_502_0@ wordpress .htaccess通常具有以下重写规则:
# BEgin wordpress
<IfModule mod_rewrITe.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENamE} !-f
RewriteCond %{REQUEST_FILENAME} !-d
rewriterule . /index.PHP [L]
</IfModule>

当我在我的网站上访问一个不存在的URL时,这个重写规则被命中,重定向到index.PHP,并提供我的自定义404.PHP模板文件.发送回客户端的状态代码是正确的404,如此HTTP Live Headers输出示例所示:

http://www.borngeek.COM/nothere/

GET /nothere/ HTTP/1.1
Host: www.borngeek.com
{...}

HTTP/1.1 404 Not Found

但是,apache在我的服务器日志中使用200状态代码报告整个交换,如下面的日志片段所示(为简单起见,已修剪):

{...} "GET /nothere/ HTTP/1.1" 200 2155 "-" {...}

这对我来说是有意义的,因为原始请求被重定向到存在的页面(index.PHP).有没有办法强制Apache将交换报告为404

我的问题是来自Bad Guys的虚假请求在我使用的各种服务器统计软件(AWstats,AnaLOG等)中显示为“成功请求”.我很乐意让它们在Apache端显示404s,以便从生成统计报告中过滤掉它们.

我尝试将以下行添加到我的.htaccess中,但它没有效果(我猜测的原因与之前的重定向规则相同):

ErrorDocument 404 /index.PHP?error=404

有没有人有一个聪明的方法解决这个烦恼?

附加信息:

> OS是@R_126_1092@ 6.0.4,Apache版本看起来是2.2.22-3(托管在DreAMHost上)
>发送回客户端的404正在由wordpress设置(即我不是在任何地方手动调用header())

脚本宝典总结

以上是脚本宝典为你收集整理的php – Apache报告不存在的WordPress URL的200状态全部内容,希望文章能够帮你解决php – Apache报告不存在的WordPress URL的200状态所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。