Apache子域在www上重定向到WordPress

时间:2019-01-10 07:37:36

标签: wordpress apache .htaccess

我正在同一台服务器上运行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>

2 个答案:

答案 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)

原来,这只是我的浏览器在从subwww的位置进行永久重定向,这可能是我之前修复的不正确配置的结果。