我有一个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插入(部分)名称
但这要求我指定一个显式长度,并且似乎不允许对提取的子字符串应用任何逻辑。
答案 0 :(得分:0)
虽然不是我想要的,但我会提供一个我在这里使用的解决方法。我可以在第二个位置添加一个额外的子域,它完成了几乎相同的事情。所以使用这些:
以上所有内容均来自docroot /var/www/beta
。