![Apache2 出现了难以捉摸的重写/重定向规则,无法找到任何地方?](https://linux22.com/image/590829/Apache2%20%E5%87%BA%E7%8E%B0%E4%BA%86%E9%9A%BE%E4%BB%A5%E6%8D%89%E6%91%B8%E7%9A%84%E9%87%8D%E5%86%99%2F%E9%87%8D%E5%AE%9A%E5%90%91%E8%A7%84%E5%88%99%EF%BC%8C%E6%97%A0%E6%B3%95%E6%89%BE%E5%88%B0%E4%BB%BB%E4%BD%95%E5%9C%B0%E6%96%B9%EF%BC%9F.png)
我有一台运行 apache2.2 的服务器,托管多个虚拟主机,其中一些域包含关键字(例如“foo123”),所有域都被重写/重定向到我的另一个托管域。我的所有其他域均按预期工作。
问题是我在任何地方都找不到这个难以捉摸的规则。
我已经检查过:
我的 apache2.conf(多次)
httpd.conf(空)
/etc/apache2/sites-enabled 和 sites-available 中每个站点的配置
/var/www/ 下每个站点的 .htaccess 文件
使用 grep 递归检查 /etc/apache2(也可以用 nano 手动检查)使用 grep 递归检查
/var/www 使用 grep 递归检查
/etc/php5 使用 grep 递归检查(只是为了确保万无一失)
iptables
我还在主机的控制面板上检查了我的 DNS 记录,并尝试在启用 apache 的 RewriteLog(设置为 4,然后是 9)的情况下进行调试,但是没有那么幸运。
我遗漏了什么吗?
答案1
是的,您缺少 PHP 代码。Apache 不是唯一可以30x
向客户端系统发送响应的东西。ARewriteRule
或Redirect
是 Apache 的配置方式,但 PHP 代码可以随意修改响应代码和标头。
当您收到重定向时,请仔细查看确切的 HTTP 请求和响应 - 这应该有助于为您(或我们)指明正确的方向。根据您提供的信息,我怀疑 PHP 应用程序认为请求应该带有为其配置的特定主机标头,并且它会重定向那些不属于该标头的请求。