我一整天都在苦苦挣扎,我在这里也找不到答案。 请咨询如何设置适当的子域我需要。
我的Apacheconfiguration有2个域configuration(在相同的IP),为domain2.com我需要设置一个子域。 这是我到目前为止,但子域继续redirect到domain2.com(主站点)。
<VirtualHost 11.11.11.11:80> ServerName domain1.com ServerAlias domain1.com *.domain1.com DocumentRoot "C:/wwwmap/domain1.com" </VirtualHost> <VirtualHost 11.11.11.11:80> ServerName domain2.com ServerAlias domain2.com *.domain2.com DocumentRoot "C:/wwwmap/domain2.com" </VirtualHost> <VirtualHost 46.4.24.4:80> ServerName projects.domain2.com DocumentRoot "C:/wwwmap/projects" </VirtualHost>
DNS条目是:CNAME domain2.com中的项目
尝试删除ServerAlias domain2.com * .domain2.com工作到目前为止,但然后domain2.comredirect到domain1.com
我究竟做错了什么?
你应该使用这样的东西:
NameVirtualHost *:80 <VirtualHost *:80> ServerName domain1.com ServerAlias domain1.com *.domain1.com DocumentRoot "C:/wwwmap/domain1.com" </VirtualHost> <VirtualHost *:80> ServerName domain2.com ServerAlias domain2.com *.domain2.com DocumentRoot "C:/wwwmap/domain2.com" </VirtualHost>
使用这种types的设置,您的浏览器发送的主机:标题将足以区分不同的条目。 你可以使用“*:80”以外的东西,但这是一个绝对应该工作的基本configuration。
这些projects.domain2.com虚拟主机必须在虚拟主机之前用通配符catch域来定义,而不是工作。
<VirtualHost 11.11.11.11:80> ServerName domain1.com ServerAlias *.domain1.com DocumentRoot "C:/wwwmap/domain1.com" </VirtualHost> <VirtualHost 11.11.11.11:80> ServerName projects.domain2.com DocumentRoot "C:/wwwmap/projects" </VirtualHost> <VirtualHost 11.11.11.11:80> ServerName domain2.com ServerAlias *.domain2.com DocumentRoot "C:/wwwmap/domain2.com" </VirtualHost>
如果您之前从一个域redirect到另一个域,您可能仍然会在浏览器中直接caching这个内容。 尝试清除caching。