我刚刚升级了我的 LAMP 环境版本。其余一切都运行良好,但对于子域名我遇到了挑战。
我有一个主网站 abc.biz 和 5 到 6 个子域名,如 aaa.abc.biz、site.abc.com。每次我访问任何子域名时,它都会将我重定向到主网站。请帮忙。
我的完整配置如下:
- Centos-6.6
- php 5.4.29
- mysql 5.1.57
- 阿帕奇 2.4.12
我也看过一篇关于同一问题的帖子,但也没有帮助。我当前的 httpd-vhosts.conf 如下
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/mnt/docroot/abc"
ServerName abc.biz
ServerAlias *.abc.biz
ErrorLog "logs/abc.biz-error_log"
CustomLog "logs/abc.biz-access_log" common
<Directory />
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/mnt/docroot/aaa"
ServerName aaa.abc.biz
<Directory />
Require all granted
</Directory>
</VirtualHost>
答案1
我认为罪魁祸首是您在第一个中<VirtualHost>
有一个ServerAlias *.abc.biz
。看起来它也涵盖了所有子域。
这是我的 apache 配置的一个片段,对我来说很管用。这是我对子域名所做的,我有很多子域名:
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
DocumentRoot /usr/www/example.com/http/
ScriptAlias /cgi-bin/ /usr/www/example.com/http/cgi-bin/
ErrorLog /var/log/www/example.com/error.log
CustomLog /var/log/www/example.com/access.log combined
<Directory />
Options +Indexes +FollowSymlinks
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName somesubdomain.example.com
ServerAlias www.somesubdomain.example.com
DocumentRoot /usr/www/somesubdomain.example.com/http/
# Shared log file with main domain
ErrorLog /var/log/www/example.com/error.log
CustomLog /var/log/www/example.com/access.log combined
</VirtualHost>