我在我的机器上有一个虚拟主机,我正在访问本地。 我在Windows 7下运行apache2。
当访问这个主机,我看到在Fiddler,该服务器redirect到不同的远程站点的响应
301 Moved Permanently
但我绝对找不到它在哪里configuration。 我search目标网站的URL的所有.htaccess文件,给定的虚拟主机中的所有文件的这个URL,所有的Apache目录…
如何跟踪导致Apache执行此redirect的原因?
这不一定是Apache的configuration,是Apache将请求交给dynamic内容生成器的吗?
在Apacheconfiguration中查找两件事情; Redirect和RewriteRule指令具有R标志。 如果这些不在位,那么Apache不会执行redirect(除了将/directorynameredirect到/directoryname/ ,但在这里听起来不像这样),您需要查看Apache请求的dynamic代码。
感谢上面的答案,它指向了正确的方向。 在我的情况下,301redirect是由整个站点的重写规则引起的。
RewriteEngine on RewriteCond %{HTTP_HOST} ^voicent.com RewriteRule ^/(.*)$ http://www.voicent.com/$1 [L,R=301]
上述规则强制使用规范的主机名称。 它使每个url开始与www.domain.com,而不是domain.com。 您可以在apache访问日志中进一步validation。