mod_rewrite - 更改URL的情况下

问题描述:

是否有任何直接的方式来改变使用mod_rewrite任何URL的情况?mod_rewrite - 更改URL的情况下

我认为这是相当微不足道的......显然不是。

实例:

http://example.com/idhttp://example.com/ID

http://example.com/id/123http://example.com/ID/123

等等。

的mod_rewrite有一些internal functions你可以使用一个映射。其中之一是toupper是字母转换为大写:

RewriteMap uppercase int:toupper 

RewriteRule [a-z] %{uppercase:%{REQUEST_URI}} [L,R=301] 

RewriteMap uppercase int:toupper 
RewriteRule ^/(^/)*$ /${uppercase:$1} [L] 
RewriteRule ^/([^/]*)/(.*)$ /${uppercase:$1}/$2 [L] 

(语法未选中)

我一直在寻找只改变ID的情况。这一招的窍门是:

RewriteRule ^id(.*)$ /ID$1 [QSA,R,L]