2012-10-11 73 views
2

我想使用mod_rewrite更改我的舊URL。例如,我想使用mod_rewrite重定向查詢字符串

http://www.example.com/lyrics?id=393 

改變到

http://www.example.com/lyrics/393 

我試過如下:

RewriteRule ^lyrics\.aspx?$ http://www.example.com/lyrics/ [QSA,L] 

但它輸出

http://www.example.com/lyrics/?id=393 

感謝, AB

回答

-1

我碰到以下站點: http://forums.digitalpoint.com/showthread.php?t=16014

讀完後,這是最終爲我工作的。

RewriteCond %{QUERY_STRING} ^id=(.*)$ 
RewriteRule ^lyrics\.aspx$ /lyrics/%1/? [R=301,L] 

所以現在,而不是像這樣的網址:

http://www.example.com/lyrics?id=950 

我現在有一個看起來像這樣的網址:

http://www.example.com/lyrics/950/. 
1

嘗試:

RewriteRule ^/?lyrics/([0-9]+)/? /lyrics.aspx?id=$1 [L] 

然後重定向舊網址:

RewriteCond %{THE_REQUEST} ^(GET|POST|HEAD)\ /lyrics\.aspx\?id=([0-9]+) 
RewriteRule^/lyrics/%2? [L,R=301]