2017-08-25 82 views
0

我有2個參數的URL,我想將用戶重定向到一個乾淨的URLhtaccess的重定向有兩個參數

https://www.example.com/songs?date=1999&btn-login= 

我需要它是

https://www.example.com/songs/1999 

我該怎麼辦這個?

我都試過,但該URL保持原樣,沒有任何變動

RewriteCond %{THE_REQUEST} ^(GET|POST)\ /songs\.php\?date=(.*)&btn-login=\ HTTP 
RewriteRule^/%2? [R,L] 

#Internal rewrite 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /songs.php?date=$1 [L] 
+0

你能分享一下你迄今爲止試過的嗎? – starkeen

+0

我編輯我的問題 –

+0

你是否輸入文件名沒有擴展名,例如**歌曲**而不是** songs.php **? – starkeen

回答

0

嘗試

RewriteEngine on 

RewriteCond %{QUERY_STRING} ^(|.+&)date=([^&]+) [NC] 
RewriteRule ^songs$ /songs/%2? [R=301,L] 

%2者是從要的全部價值的第二組閱讀日期參數在查詢字符串中。使用?以便查詢字符串不會附加在重定向中。我也做了這樣的正則表達式不會允許像anotherdate=這樣的東西。

您可以詳細查看正則表達式here