将两个特定网址路由到另一个应用程序apache

时间:2016-08-03 09:55:25

标签: regex wordpress apache ember.js

我有两个应用程序:

  • 为所有域流量提供服务的WordPress多站点应用程序
  • Ember app仅提供/ example / path /

以下工作在某种程度上,即ember处理到' / example / path /'的流量,但它也处理其后的任何其他路由,例如' / example / path / pretty-wp -page':

Alias "/example/path" "/var/www/ember/app/dist"

问题是,我希望ember只处理到' / example / path /'和' / example / path / another-ember-route'和WordPress处理任何其他,例如' / example / path / pretty-wp-page'

我尝试了以下内容:

AliasMatch "/example/path(/|another\-ember\-route)" "/var/www/ember/app/dist"

无济于事。任何想法或建议?我已经筋疲力尽了我的技能组合的可能性,无法在apache文档中看到解决方案,Google也没有提供任何解决方案。

由于

1 个答案:

答案 0 :(得分:0)

试试这个:

AliasMatch ^/example/path(?:/another-ember-route)?$ /var/www/ember/app/dist

这适用于" / example / path"和" / example / path / another-ember-route"仅

说明:

  • 正则表达式路径应始终以^开头以定义请求的开头,否则它们对/ whatever / example / path
  • 有效
  • 指定某些内容"可选"您可能使用或不使用?在正则表达式
  • 要对您使用的字符串进行分组(),以便稍后使用?
  • 将其全部设为可选
  • 为了正确起见,我将?:添加到括号中,使其成为非捕获组"因为你之后没有使用它,但实际上没有必要包括它。
  • Dashes" - "不需要逃脱
  • 结尾处的$表示终止,其中任何一个都不匹配,如果删除它,它将匹配/ example / path / whatever。