【发布时间】:2016-02-19 04:24:41
【问题描述】:
我有一个类似这样的 Apache 配置:
<VirtualHost *:80>
ServerAlias *.example.com
VirtualDocumentRoot /var/www/%1
<Directory /var/www/>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
这个想法是它为来自同名目录的任何子域请求提供服务。例如,http://beta-a.example.com 的 docroot 变为 /var/www/beta-a。
这很好用。
我的问题是:有什么方法可以根据某些逻辑修改请求的提取部分?理想情况下是一个正则表达式。例如,我想接受所有请求,例如:
并删除 - 之后的所有内容(包括 -),以便 docroot 变为 /var/www/beta。基本上,我想找到一些方法来获得从同一个 docroot 提供的备用主机名。我知道规则:
%N.M 插入(部分)名称
但这需要我指定一个明确的长度,并且似乎不允许对提取的子字符串应用任何逻辑。
【问题讨论】:
标签: regex apache virtualhost