我正在尝试在类似的路径结构中创建许多重写。我需要一个带有字符的特定路径,尝试在将路径写回到其根路径后尝试输入字符,如下所示。其中包括/foo/bar/test/* to /foo/bar/test
,还包括/foo/* to /foo/
(如果请求是针对/foo/bar
以外的其他内容,例如/foo/abc
,则将其重定向回/foo
)。
这是在运行apache 2.2的linux服务器上。我试图使用L标志在重写引擎URL解析上停止匹配,并将所有包含的规则移至匹配列表的底部。
RewriteRule ^/foo/bar/test/(.*) /foo/bar/test/ [R=302,NC,NE,L]
RewriteRule ^/foo/bar/test2/(.*) /foo/bar/test2/ [R=302,NC,NE,L]
RewriteRule ^/foo/bar/test3/(.*) /foo/bar/test3/ [R=302,NC,NE,L]
RewriteRule ^/foo/bar/(.*) /foo/bar/ [R=302,NC,NE,L]
RewriteRule ^/foo/(.*) /foo/ [R=302,NC,NE,L]
我发现/foo/(.*)
重写的优先级高于前面的规则,并且每个请求都重写为/foo/
,甚至/foo/bar/test/
。我担心的是,我将不得不为每个单独的比赛案例编写条件。我正在寻求一个更简单的解决方案。谢谢!