我想知道如何使用Apache mod_rewrite選項將www.site.com?lang=lv&type=1&mode=2
重寫爲www.site.com/lv/1/2
。使用Apache重寫多個變量的規則mod_rewrite
2
A
回答
0
基本重寫:
RewriteEngine On
RewriteRule http://www.site.com/?lang=(.+?)&type=(\d+?)&mode=(\d+?) http://www.site.com/$1/$2/$3 [L,R=permanent]
編輯:更改重寫標誌來強制永久重定向
1
假設你真的想重寫/lv/1/2
到?lang=lv&type=1&mode=2
(我看不出有什麼理由做對面)並且沒有其他重寫是主動的,這應該是關鍵:
RewriteRule ^/([^/]*)/([^/]*)/([^/]*)$ ?lang=$1&type=$2&mode=$3 [L]
另外;如果你想將它們包含在你的URI中,你最好用更有用的信息替換那些神奇的數字。
編輯:如果真的是你想要做的對面,一看便知由馬特·S.
+0
是的,我反其道而行之:P謝謝! – werd 2010-07-05 20:00:49
0
您需要單獨處理URI路徑和查詢。如果這些參數出現在非常相同的順序,你可以這樣做:
RewriteCond %{QUERY_STRING} ^lang=([^&]+)&type=([^&]+)&mode=([^&]+)$
RewriteRule ^$ /%1/%2/%3? [L,R=301]
否則,你將需要把他們在正確的順序使用這個規則之前,或採取每個參數在一個時間。
相關問題
- 1. Apache的mod_rewrite規則寫入
- 2. Apache mod_rewrite到Nginx重寫規則
- 3. Apache - mod_rewrite重寫規則問題
- 4. Apache多重重寫規則
- 5. PHP Apache重寫規則和變量
- 6. 重寫規則的mod_rewrite規則
- 7. 使用apache時重寫規則的性能影響mod_rewrite
- 8. Apache的mod_rewrite規則
- 9. 如何重寫規則使用mod_rewrite
- 10. 使用的.htaccess重寫規則解釋多個$ _ GET變量
- 11. mod_rewrite重寫規則異常
- 12. htaccess mod_rewrite重寫規則
- 13. Apache重寫規則
- 14. Apache重寫規則
- 15. 的mod_rewrite刪除一個重寫規則
- 16. mod_rewrite重定向規則變量問題
- 17. 使用GET變量創建mod_rewrite規則
- 18. htaccess的重寫規則3個變量
- 19. 多個mod_rewrite規則
- 20. 用Apache重寫規則重寫URL
- 21. 重寫所有查詢使用mod_rewrite的重寫規則
- 22. 的Apache 2.4.7重寫規則
- 23. apache的重寫規則
- 24. 重寫規則在Apache的
- 25. Apache的mod_rewrite的規則
- 26. 重寫規則 - 改多變量URL到多變量URL
- 27. Apache的mod_rewrite的重寫規則在端口錯誤地將AWS
- 28. mod_rewrite重寫規則不起作用
- 29. WAMP mod_rewrite重寫規則不起作用
- 30. 重寫一個Apache重定向規則
這似乎工作:在此服務器上找不到請求的URL。 – werd 2010-07-05 19:56:37
你有一個頁面響應'site.com/lv/1/2'嗎?你在使用某種框架嗎? – 2010-07-05 20:57:00