我正在同一台服务器上运行2个网站:
www.example.com
example.com
-WordPress sub.example.com
-另一个站点请求http://sub.example.com
当然应该以该网站的索引响应。相反,除非我明确请求http://www.example.com
,否则它将重定向到http://sub.example.com/index.html
,在这种情况下,我会获得正确的网站。
我认为问题可能是WordPress的永久链接的htaccess文件(由WordPress生成):
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
这是两个站点的VirtualHost conf文件:
# sub.mysite.com
<VirtualHost *:80>
DocumentRoot /var/www/sub
ServerName sub.example.com
<Directory /var/www/sub/>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</Directory>
# www.example.com example.com
<VirtualHost *:80>
DocumentRoot /var/www/wordpress
ServerName www.example.com
ServerAlias example.com
<Directory /var/www/wordpress/>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</Directory>
答案 0 :(得分:0)
尝试在
之后替换服务器IP <VirtualHost 12.345.56.789:80>
ServerName sub.example.com
DocumentRoot "/var/www/sub"
<Directory /var/www/sub>
Allow from all
AllowOverride All
</Directory> </VirtualHost>
答案 1 :(得分:0)
原来,这只是我的浏览器在从sub
到www
的位置进行永久重定向,这可能是我之前修复的不正确配置的结果。