在 CentOS 上运行 Apache,尝试设置通配符子域名,基本上我希望 .mydomain.com 指向 mydomain.com
使用 cPanel,我添加了 *.mydomain.com 使用 WHM,我确保 A 记录指向正确的 IP。
我创下了我的 A 记录:
* 14400 IN X.x.x.x
我的httpd.conf:
ServerName _wildcard_.mydomain.com
ServerAlias *.mydomain.com
DocumentRoot /home/mydomain/public_html
ServerAdmin [email protected]
UseCanonicalName Off
## User userdomain# Needed for Cpanel::ApacheConf
UserDir enabled userdomain
<IfModule mod_suphp.c>
suPHP_UserGroup userdomain userdomain
</IfModule>
<IfModule !mod_disable_suexec.c>
<IfModule !mod_ruid2.c>
SuexecUserGroup usergrdomain userdomain
</IfModule>
</IfModule>
<IfModule mod_ruid2.c>
RUidGid userdomain userdomain
</IfModule>
ScriptAlias /cgi-bin/ /home/mydomain/public_html/cgi-bin/
# To customize this VirtualHost use an include file at the following location
# Include "/usr/local/apache/conf/userdata/std/2/mydomain/wildcard_safe.mydomain.com/*.conf"
我在 httpd.conf 中将 VirtualHost 设置为指向域根目录。重新启动了 Apache、服务器、dns,仍然没有任何反应。
我花了几个小时研究这个问题,按照说明,正确设置一切。
我错过了什么?
答案1
ServerAlias 指令仅在 VirtualHost 上下文中有效。
看:http://httpd.apache.org/docs/2.2/mod/core.html#serveralias
你的配置应该是:
<VirtualHost *:80>
ServerName _wildcard_.mydomain.com
ServerAlias *.mydomain.com
DocumentRoot /home/mydomain/public_html
ServerAdmin [email protected]
UseCanonicalName Off
## User userdomain# Needed for Cpanel::ApacheConf
UserDir enabled userdomain
<IfModule mod_suphp.c>
suPHP_UserGroup userdomain userdomain
</IfModule>
<IfModule !mod_disable_suexec.c>
<IfModule !mod_ruid2.c>
SuexecUserGroup usergrdomain userdomain
</IfModule>
</IfModule>
<IfModule mod_ruid2.c>
RUidGid userdomain userdomain
</IfModule>
ScriptAlias /cgi-bin/ /home/mydomain/public_html/cgi-bin/
</VirtualHost>