使用虚拟主机和服务器别名,我得到一个奇怪的重定向,我不明白它的来源。
在Ubuntu 12.04上使用stock apache2。仅对/etc/apache2/...
我在文件sites-available/foo-com
中添加了一个新的虚拟主机,并使用a2ensite
<VirtualHost *:80>
ServerName www.foo.om
ServerAlias foo.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/www.foo.com
<Directory /var/www/www.foo.com/>
Options FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>
我还有www.bar.com
的第二个虚拟主机,与上面完全相同,但foo
替换为bar
我已将默认虚拟主机更改为其他文档根目录
DocumentRoot /var/www/default
<Directory /var/www/default/>
.....
当我导航到http://foo.com
时,我获得301重定向到http://www.foo.com/www.foo.com
,这显然会返回404
。更奇怪的是,导航到http://bar.com
无需重定向即可正确返回相关网站。
我一直在试图理解这种奇怪的行为。我已经验证了apache confs中的其他任何地方都没有重定向。除了上面的虚拟主机之外,没有任何地方引用foo.com
。文档根目录中没有.htaccess文件。我从头开始创建目录。
还有什么可能导致这种情况?
答案 0 :(得分:1)
来自http://httpd.apache.org/docs/2.2/en/howto/htaccess.html
进一步注意,httpd必须在所有文件中查找.htaccess文件 更高级别的目录,以便有完整的补充 它必须适用的指令。 (参见指令如何 因此,如果从目录中请求文件 / www / htdocs / example,httpd必须查找以下文件:
/。htaccess的
/www/.htaccess
/www/htdocs/.htaccess
/www/htdocs/example/.htaccess
查看重写日志,看起来你的/ var / www中有一个.htaccess文件。删除它,或者最好是禁用.htaccess可以解决您的问题。