我正在尝试创建一个重定向regex脚本,它将用户转发到另一个域,路径不变,除非路径与特定的内容匹配。在
即
http://www.a.com/anything/foo/bar -> http:www.b.com/anything/foo/bar
但如果路径以特殊的方式开始,则不要重定向:
http://www.a.com/special/1/2/3 -> no redirect
我的重定向应用程序是这样工作的:我把条目一行一行地放在一起(这很好):
"^/(?P<path>[-\w]+)/(?P<foo>[-\w]+)/(?P<bar>[-\w]+)/$","%(path)s/%(bar)s/%(foo)s/"
"^/(?P<path>.*)$","http://www.b.com/%(path)s"
所以像这样的事情(不起作用):
"^/(?P<path>!(special).*)$","http://www.b.com/%(path)s"
你在寻找消极的前景:
(?!...)
语法表示:因此,如果路径以
/
开头,但后面是special/
,则表达式匹配。在演示:
^{pr2}$http://www.a.com/(?!special).*
将匹配以http://www.a.com/
开头的任何内容,但不匹配http://www.a.com/special
。在相关问题 更多 >
编程相关推荐