regex - AliasMatch 和 RegEx

标签 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到 url,这个 URL 指向 /var/www/central-cms

最佳答案

除非我遗漏了什么,它看起来很简单 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 的请求也是如此.

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

关于regex - AliasMatch 和 RegEx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9906433/

相关文章:

javascript - 使用正则表达式选择 "#"符号后的所有文本

javascript - RegExp 中的反向引用替换功能不起作用

javascript - 在 JavaScript 中匹配和拆分中文逗号的正则表达式

regex - 如何使用 mod_rewrite 从旧的 php 脚本重定向到新的 php 脚本

java - 如何在 apache Camel (spring) 中测试路由

java - 使用 Apache httpd 2.4.6 和 Tomcat 8 配置安全的 websockets

php - 如何防止在不同的 apache 虚拟主机之间共享 PHP session ?

javascript - Js 和 css 文件未加载到 Symfony 3 上的虚拟主机上

javascript - 多个虚拟主机可在 Chrome 上运行,但不能在 Firefox 或 Safari 上运行

c# - 不在两位数之间时去除小数点