1

我在这些路径上有一些资源:

/application/myFoo
/application/myBar

总是 'my' 后跟一个大写的名字

我想重定向

/myfoo, /myFOO, /myFoo, (even /foo, /Foo if possible)

到第一个,同样适用于第二个 url

RewriteRule ^/my(.*) /application/my$1 [L,NC]

是我目前的解决方案,它适用于 /myFoo、/mYFoo,但不适用于 /myfoo、/foo

参考:mod_rewrite - 更改 URL 大小写(这有点不同,因为我不想将所有 %{REQUEST_URI} 都大写

4

1 回答 1

1

这是一种可能的解决方案

RewriteEngine   On
RewriteMap uppercase int:toupper
RewriteMap lowercase int:tolower
RewriteCond %{REQUEST_URI} !^/(lib|system|application)/
RewriteRule ^/?(?:my)?([a-z])(.*) /application/my${uppercase:$1}${lowercase:$2} [L,NC]
于 2012-10-22T14:45:23.273 回答