我是一个完整的Linux和服务器noob,但我已经开始了一个项目,试图学习。 我现在想要做的是获得通配符子域的工作。
在我的虚拟主机(网站可用)文件中,我有:
<VirtualHost *.80> ServerName domain.com ServerAlias www.domain.com domain.com *.domain.com
等等..
在我的域名注册商的DNS设置中,我有@,www和*指向我的服务器IP的Alogging。 现在据我所知,这应该是工作,但是当我进入我的浏览器,并浏览到* .domain.com它出现了默认的Apache文本“它的作品!”,当我直接去domain.com我可以看到我的网页(我也想为* .domain.com显示)。
任何帮助将不胜感激! 我可能失去了一些盲目明显的东西,但我是一个noob 🙂
我从来不知道写这样的ServerAlias选项
ServerAlias www.domain.com domain.com *.domain.com
如果你对dnsconfiguration做得不错,尝试为真实域(默认域)创buildvhostconfiguration,然后在所有真实域vhostconfiguration后为通配符创build另一个vhostconfiguration。
<VirtualHost *:80> DocumentRoot "/var/www/html/abc" ServerName www.abc.com ServerAlias www.abc.com </VirtualHost> <VirtualHost *:80> DocumentRoot "/var/www/html/abc" ServerAlias *.abc.com </VirtualHost>
尝试这个
NameVirtualHost *:80 # enable name virtualhosting <VirtualHost *:80> # :80, not .80 ServerName domain.com ServerAlias *.domain.com # www.domain.com matches *.domain.com ... </VirtualHost>
没关系,我忘了重新启动Apache。