Luk*_*nis 19 regex url rewrite
我正在尝试重定向一系列静态URL,无论是否存在尾部斜杠,我希望它能够正常工作:
/foo/bar ---> /tacos
/foo/bar/ --> /tacos
Run Code Online (Sandbox Code Playgroud)
我已经尝试了以下各种变化,但我总是只得到一个匹配的斜杠:
RewriteRule ^foo/bar?/$ http://url.com/tacos
RewriteRule ^foo/bar(?/)$ http://url.com/tacos
RewriteRule ^foo/bar*/$ http://url.com/tacos
RewriteRule ^foo/bar(*/)$ http://url.com/tacos
Run Code Online (Sandbox Code Playgroud)
我觉得我错过了一些明显的东西.救命?
Gum*_*mbo 35
除了在EBNF或ABNF中,正则表达式中的量词指的是前面的表达式而不是下面的表达式.所以:
RewriteRule ^foo/bar/?$ http://url.com/tacos
Run Code Online (Sandbox Code Playgroud)
ful*_*ulv 13
如果你想匹配foo/bar,无论它是否跟着路径的另一部分,你可以说:
RewriteRule ^foo/bar(/.*|$) http://url.com/tacos
Run Code Online (Sandbox Code Playgroud)
这将符合以下任何一项:
foo/bar
foo/bar/
foo/bar/baz
Run Code Online (Sandbox Code Playgroud)
它表示:匹配a)斜杠后跟0或更多字符,或b)字符串结尾.
另一方面,这些可能是不受欢迎的:
RewriteRule ^foo/bar/? http://url.com/tacos # This also matches foo/barb
RewriteRule ^foo/bar/?$ http://url.com/tacos # This will not match foo/bar/baz
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28095 次 |
| 最近记录: |