AliasMatch和RegEx

时间:2012-03-28 11:21:17

标签: regex apache vhosts

我正在开发服务器上使用集中式CMS,CMS位于/var/www/central-cms

该网址(我有很多网站)可通过以下网址访问:http://web.localdomain.dev/site1/

如何只需输入此网址即可访问cms:http://web.localdomain.dev/site1/cms

也许AliasMatch是解决方案?有关RegExp的任何帮助吗?

实施例

http://web.localdomain.dev/stackoverlow/

http://web.localdomain.dev/google/

http://web.localdomain.dev/yahoo/

如果我在网址上附加/cms,则此网址指向/var/www/central-cms

1 个答案:

答案 0 :(得分:6)

除非我遗漏了某些内容,否则看起来简单的Alias指令会起作用:

Alias /site1/cms /var/www/central-cms

如果这不起作用,您可能需要向我们提供有关您的配置的更多详细信息。

如果要为多个站点完成此操作,可以使用AliasMatch指令。您可以查看AliasMatch documentation以获取更多信息,包括一些很好的示例,但最终您会得到类似的结果:

AliasMatch ^/[^/]*/cms(.*) /var/www/central-cms$1

这意味着对/site1/cms/foo的访问权限将转到/var/www/central-cms/foo ...所以请求/site2/cms/foo

表达式[^/]*匹配/以外的任意数量的字符,这在此非常重要,因此出现在URL中其他位置的字符串cms不会导致问题。