如何匹配所有不以/ web开头的URL路径?

时间:2014-03-06 20:29:42

标签: regex apache

我们正在使用一个LocationMatch来正则表达式匹配url路径。

如果url不以'/ web'开头,我们有一个加载调度程序模块的指令。所以,我们希望它匹配:

/web
/web/application

我们不希望它匹配:

/site
/webapps
/webapps/application

我有点不知所措,因为我对正则表达式还有点新手,但也因为我不确切知道要搜索什么。

谢谢

2 个答案:

答案 0 :(得分:2)

要匹配所有不以/ web或/ site开头的URL路径,或/ webapps使用

^/(?!web|site|webapps)(.*)$

答案 1 :(得分:1)

这样的东西

^/web(/.*)?$

应该做的伎俩。你可以这样读:

  • ^表示字符串从此处开始

  • /web是您正在寻找的部分

  • (此处开始一组

  • /.*斜线后跟任意数量的字符(甚至0)

  • )此处结束了小组

  • ?意味着它之前的任何内容(我们的小组)可能会或可能不会在那里

  • $表示字符串在此处结束。

这基本上匹配/ web,/ web /和/ web / whatever。

您可以使用this website了解正则表达式的工作原理: