我为其中一个域创建了一个子域。在Apache&创建之后在DNS中输入子域不指向它指定的目录,而是指向其主域的目录
主域
<VirtualHost *:80>
ServerName www.domain.com
ServerAlias domain.com *.domain.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/domain/
<Directory /var/www/domain/>
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/domain.error.log
#Possible Values include: debug, info, notice, warn, error, crit,
#alert, emerg.
LogLevel alert
ServerSignature On
子域
<VirtualHost *:80>
ServerName orders.domain.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/domain/cpanel/
<Directory /var/www/domain/cpanel/>
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/domain.error.log
#Possible Values include: debug, info, notice, warn, error, crit,
#alert, emerg.
LogLevel alert
ServerSignature On
在“/ etc / apache2 / sites-available”&amp;中创建条目后在“/ etc / apache2 / sites-enabled”中的虚拟链接,我重新启动了Apache。
答案 0 :(得分:4)
您的主条目中有一个通配符ServerAlias,您必须调整或删除它:
ServerAlias domain.com *.domain.com
这将抓住一切,包括orders.domain.com。将orders.domain.com的条目移动到配置中较早的位置也可以解决问题。
答案 1 :(得分:0)
这帮助我解决了同样的问题。我意识到我在我的apache配置中使用了一张外卡,一旦我改变它,它仍然没有正常工作。我意识到我在dns条目中也使用了通配符来进行别名。一旦我通过删除通配符更改了我的主域的dns记录,然后为我的子域添加了主域记录,这一切都有效。 所以..我在我的apache配置中... ServerAlias * .domain.com我改为ServerAlias www.domain.com 然后相同的域记录中的别名。这解决了这个问题。