我需要将所有可能的小写/大写网址组合重定向到小写,但仅限于一个特定的网址example-url
。
样品:
/eXample-url => /example-url
/Example-Url => /example-url
/examPle-URL => /example-url
RewriteRule ^example-url(.*)$ /example-url$1 [NC,R=301,L]
导致重定向循环...
感谢您的帮助!
答案 0 :(得分:1)
您可以使用前瞻来确保至少有一个带有(?i)
标记的大写字母,以便在lookahead之后使其成为忽略大小写:
RewriteEngine On
RewriteRule ^(?=[^A-Z]*[A-Z])(?i)example-url(/.*)?$ /example-url$1 [R=302,L]
(?=[^A-Z]*[A-Z])
是一个正向前瞻,以确保至少有一个大写字母。(?i)
用于制作模式忽略的其余部分。没有前瞻的替代方案:
RewriteCond %{REQUEST_URI} [A-Z]
RewriteRule ^example-url(/.*)?$ /example-url$1 [R=302,L,NC]