2012-05-16 27 views

回答

1
RewriteRule ^hostname.com/somepath/\?cpao([0-9]+)$ hostname.com/somepath/\?kmas=$1 

您使用htaccess的$ 1的正則表達式是在組逮住1

+0

謝謝!我怎麼會推斷它是如此,以至於我總是希望用kmas代替cpao。用kmas替換字符串cpao。是否有可能在一個重寫規則中獲得所有這些內容,或者我應該做多個重寫規則? –

+0

是的,正如我所說的,它使用正則表達式,所以你可以用它來捕獲一個較低的大寫字母路徑([a-z] +)用某些路徑代替它 – Joelmob

+1

它不會工作,因爲RewriteRule只在去掉前導斜槓後匹配REQUEST_URI。 – anubhava

2

啓用mod_rewrite的,並通過httpd.conf的.htaccess,然後把這個代碼在你.htaccessDOCUMENT_ROOT目錄編號:

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase/

RewriteCond %{QUERY_STRING} ^cpao=([^&]*) [NC] 
RewriteRule^%{REQUEST_URI}?kmas=%1 [R,L]