centos httpd.conf 多个子域不同位置
Posted
技术标签:
【中文标题】centos httpd.conf 多个子域不同位置【英文标题】:centos httpd.conf multiple subdomain different location 【发布时间】:2015-03-17 09:21:14 【问题描述】:这可能已经回答了,但我找不到直接的答案,或者我找到的答案不起作用。
我有一个域,我们称之为 mydomain.com DNS 设置指向两个子域。它们是 staging.mydomain.com 和 mydomain.com。两者都有指向相同 IP 的 A 记录,比如 8.8.8.8。
在服务器(8.8.8.8)上,我有两个虚拟主机的 httpd.conf,它们已经由 cpanel 创建。它们如下:
mydomain.com
<VirtualHost 8.8.8.8:80>
ServerName mydomain.com
ServerAlias www.mydomain.com
DocumentRoot /home/userxxx/public_html
## User ydg015 # Needed for Cpanel::ApacheConf
<IfModule mod_suphp.c>
suPHP_UserGroup userxxx userxxx
</IfModule>
<IfModule !mod_disable_suexec.c>
<IfModule !mod_ruid2.c>
SuexecUserGroup userxxx userxxx
</IfModule>
</IfModule>
<IfModule mod_ruid2.c>
RUidGid userxxx userxxx
</IfModule>
CustomLog /usr/local/apache/domlogs/mydomain.com-bytes_log "%%st %I .\n%%st %O ."
CustomLog /usr/local/apache/domlogs/mydomain.com combined
# ScriptAlias /cgi-bin/ /home/userxxx/public_html/cgi-bin/
</VirtualHost>
还有……
staging.mydomain.com
<VirtualHost 8.8.8.8:80>
ServerName staging.mydomain.com
ServerAlias *.staging.mydomain.com
DocumentRoot /home/userxxx/public_html/staging
UseCanonicalName Off
CustomLog /usr/local/apache/domlogs/staging.mydomain.com combined
CustomLog /usr/local/apache/domlogs/staging.mydomain.com-bytes_log "%%st %I .\n%%st %O ."
## User ydg015 # Needed for Cpanel::ApacheConf
<IfModule mod_suphp.c>
suPHP_UserGroup userxxx userxxx
</IfModule>
<IfModule !mod_disable_suexec.c>
<IfModule !mod_ruid2.c>
SuexecUserGroup userxxx userxxx
</IfModule>
</IfModule>
<IfModule mod_ruid2.c>
RUidGid userxxx userxxx
</IfModule>
# ScriptAlias /cgi-bin/ /home/userxxx/public_html/staging/cgi-bin/
# To customize this VirtualHost use an include file at the following location
# Include "/usr/local/apache/conf/userdata/std/2/userxxx/staging.mydomain.com/*.conf"
</VirtualHost>
问题是:
我正在使用 wordpress 多站点来构建两个站点(临时站点和主站点),并且多站点提供另一个子域,例如 http://en.mydomain.com 和 http://en.staging.mydomain.com
每次我去 en.mydomain.com 或 en.staging.mydomain.com 时,我总是登陆有人告诉我的“cgi-sys/defaultwebpage.cgi”,也许我应该对 http.conf 进行更改,但我不知道我应该改变什么。
谁能帮我解决这个问题?
任何建议将不胜感激。谢谢你!
【问题讨论】:
【参考方案1】:这两个虚拟主机中给出的代码很好,但可能有另一个配置可能导致此行为。 您应该使用以下命令来识别正确的文档根目录。
httpd -t -D DUMP_VHOSTS
注意: httpd 需要替换为适合您环境的正确可执行文件,例如 apache2 或 apachectl
如果您仍然无法理解问题,请分享此命令的输出。
【讨论】:
以上是关于centos httpd.conf 多个子域不同位置的主要内容,如果未能解决你的问题,请参考以下文章
OS X 上的 Chrome 不尊重 etc/hosts 和/或 httpd-vhosts.conf localhost 子域