apache 和 ServerAlias 的排序?

apache 和 ServerAlias 的排序?

在我的网站上,我将所有域名重写为根域名,例如

*.mysite.com

我之前也有几个,它们都可以工作(它们都很简单,只指定一个 DocumentRoot)

static.mysite.com
test_alias_for_another_site.mysite.com
blah.mysite.com

现在的问题是,我有一个复杂的 VirtualHost。它有 16 行。我有一个 ServerAlias,但是 apache 从不使用它,因为它使用规则*.mysite.com并重写,而不是使用指定特定子域的 virtaulhost。

我该如何解决这个问题?有没有可以使用最后使用通配符的选项?或者选择它查看的文件的顺序?或者我需要将虚拟主机复制/粘贴到其他文件中吗?

答案1

它将是第一个匹配的 VirtualHost,并且由于文件按字母顺序加载,因此您可以通过更改文件名来更改顺序。

我所做的是为每个文件名添加一个数字前缀,这样我就可以设置优先级来做你提到的事情。例如:

1-captureall.conf
2-specific.vhost.com.conf
2-anotherspecific.vhost.com.conf
3-*.vhost.com.conf

相关内容