[英]Apache2 Dynamic vHost with multiple ServerAlias
我正在尝试建立一个动态的vHost,但遇到了一些麻烦。 它不允许我设置多个ServerAlias。
<VirtualHost *:80>
ServerAlias *.com
ServerAdmin michael.ian.curry@gmail.com
VirtualDocumentRoot /var/www/%1/production/html
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
LogLevel warn
</VirtualHost>
以上vHost仅适用于' .com'我需要它才能用于'www。 .com'和'* .com'我认为设置ServerAlias会修复它,但它无法正常工作。
ServerAlias *.com www.*.com
如果您有任何见解,请回复
--MichaelCurry
==编辑1 ==
示例redcrusher.com和www.redcrusher.com
==编辑2 ==
下面的代码也不起作用
ServerAlias www.*.com *.com
弄清楚了!
'www。*。com'必须在'* .com'之前执行这是因为ServerAlias正在设置一个动态域,并且必须在存在“较小”别名之前存在。
示例:'www。*。com','dev。*。com','asdf。*。com'THEN'* .com'
vHost文件[production.conf]:
<VirtualHost *:80>
ServerAlias www.*.com
VirtualDocumentRoot /var/www/%2/production/html
ServerAdmin michael.ian.curry@gmail.com
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
LogLevel warn
</VirtualHost>
<VirtualHost *:80>
ServerAlias *.com
VirtualDocumentRoot /var/www/%1/production/html
ServerAdmin michael.ian.curry@gmail.com
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
LogLevel warn
</VirtualHost>
我希望这可以帮助其他任何有这个问题的人!
--MichaelCurry
你必须这样使用
ServerAlias www.domain.com domain.com
ServerAlias *.domain.com
如果你想用那种方式你必须遵循秩序
ServerAlias www.*.com *.com
问题是
VirtualDocumentRoot /var/www/%1/production/html
您使用动态VirtualDocumentRoot意味着
对于redcrusher.com,VirtualDocumentRoot是
/var/www/redcrusher/production/html
对于www.redcrusher.com,VirtualDocumentRoot是
/var/www/www.redcrusher/production/html
我认为拆分ServerAlias分三部分来解决
ServerAlias www.*.com
VirtualDocumentRoot /var/www/%1/production/html/
ServerAlias *.*.com
VirtualDocumentRoot /var/www/%2/production/html/%1
ServerAlias *.com
VirtualDocumentRoot /var/www/%1/production/html
我认为应该工作
VirtualDocumentRoot:
redcrusher.com
/var/www/redcrusher/production/html
www.redcrusher.com
/var/www/redcrusher/production/html/
sub.redcrusher.com
/var/www/redcrusher/production/html/sub
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.