关于向RewriteRule或RewriteCond提供正则表达式时的正斜杠"/",或者特别是与.htaccess相关的任何其他内容,是否需要逃避正斜杠?
这是我想要实现的一个例子
RewriteEngine on
RewriteOptions inherit
RewriteBase /uk-m-directory/
RewriteRule ^(region|region\/|regions\/)$ regions [R=301,L]
RewriteRule ^(county|county\/|counties\/)$ counties [R=301,L]
RewriteRule ^(city|city\/|cities\/)$ cities [R=301,L]
Run Code Online (Sandbox Code Playgroud)
以上工作正常,当我删除反斜杠时,它继续正常工作,如下所示
RewriteEngine on
RewriteOptions inherit
RewriteBase /uk-m-directory/
RewriteRule ^(region|region/|regions/)$ regions [R=301,L]
RewriteRule ^(county|county/|counties/)$ counties [R=301,L]
RewriteRule ^(city|city/|cities/)$ cities [R=301,L]
Run Code Online (Sandbox Code Playgroud)
哪一个是正确的方法?他们都错了吗?是否有任何特殊原因应该逃避或不应该逃避正斜杠?
据我所知,我的猜测是正斜杠不需要被转义,因为它不是一个特殊字符.但我只是想确定一下.
如果你想知道这个代码的重点,它会将城市,县和地区(有或没有正斜杠)重定向到它们的复数等价物.此外,如果复数具有正斜杠,则删除正斜杠.