所以我有两个配置文件。
mysite.conf
<VirtualHost *:80>
ServerName www.mysite.com
ServerAlias mysite.com *.mysite.com
DocumentRoot /var/www/mysite/www
ErrorDocument 404 /redirect.php
ErrorLog logs/application/mysite.error_log
CustomLog logs/application/mysite.access_log Combined
</VirtualHost>videoupload.conf
<VirtualHost *:80>
ServerName upload.mysite.com
DocumentRoot /var/www/videouploader/www
ErrorLog logs/application/videoupload.error_log
CustomLog logs/application/videoupload.access_log Combined
</VirtualHost>您看,我们有大约50个可能的something.mysite.com子域,所有这些域都有不同的功能,但是它们都是从相同的文档根服务的。
我想把*.mysite.com保存在那里,仅仅是因为它更干净,然后拥有世界上最长的服务器行,另外,它还可以防止尝试bananananan.mysite.com或其他无法工作的东西的延迟。
我已经阅读了apache文档,但是它并没有任何关于这个文档的内容。有人知道怎么做吗?
发布于 2011-07-15 15:42:24
Apache从上到下搜索vhost匹配,并执行它遇到的第一个匹配操作。如果您将videoupload.conf重命名为0videoupload.conf,那么它将在mysite.conf之前读取,并且应该可以正常工作。
发布于 2018-03-29 00:07:08
我也有过类似的问题。该决议是从任何其他<VirtualHost>指令的标题中删除域名。移除:
<VirtualHost test.blah.org:443>
ServerName test.blah.org代之以:
<VirtualHost *:443>
ServerName test.blah.org在头中使用域名会导致apache优先与虚拟主机匹配,而不是我的ServerAlias static-*.blah.org在<VirtualHost *:443>指令下匹配。
发布于 2021-05-27 17:26:50
Shell样式(fnmatch())通配符可以用于路径的文件名或目录部分,以字母顺序一次包含多个文件。
https://serverfault.com/questions/290760
复制相似问题