我需要做這樣的事情:URL http://domain.com/view.php?show=my_article_name應該被重定向到http://domain.com/my_article_name/我該怎麼做?提前致謝。使用.htaccess追加查詢字符串到URL
回答
你可以試試這個規則:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+view\.php\?show=([^\s]+) [NC]
RewriteRule^/%1? [R=302,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ /view.php?show=$1 [L,QSA,NC]
一旦你驗證它是否工作正常,更換R=302
到R=301
。避免在測試mod_rewrite規則時使用R=301
(永久重定向)。
謝謝,它適合我! –
不客氣,很高興它解決了。 – anubhava
非常少見有人想要一個SEO不友好的URL重定向到一個搜索引擎友好的一個,通常是周圍的其他方法,所以請確保您想要的:
http://domain.com/view.php?show=xyz => http://domain.com/xyz/
,而不是更常見:
http://domain.com/xyz => http://domain.com/view.php?show=xyz
你會使用這樣的事情來捕捉查詢字符串,並將其傳遞給URL(我已經添加到R=301
標誌,但如果你不想永久重定向,與R
替換此) :
RewriteBase /
RewriteCond %{QUERY_STRING} ^show=(.*)$ [NC]
RewriteRule ^view.php$ %1/ [NC,R=301,L]
未經測試,因爲我目前沒有運行Apache,但如果它有幫助但不正確,請給我工作代碼來修復我的答案。
不幸的是它不適用於我。我得到了404個。 –
檢查access.log和error.log,Apache問題通常很容易調試。 –
@RedOctober - 編輯,告訴我,如果修復它。注意:在測試時,您可能想使用'R'而不是'R = 301',因爲有些瀏覽器長時間緩存301s。 –
- 1. 追加查詢字符串到url
- 2. 如何使用htaccess將HTTP_REFERER追加到查詢字符串?
- 3. 追加查詢字符串中使用htaccess的URL重寫不工作
- 4. .htaccess的追加到查詢字符串QSA沒有重定向
- 5. 微軟Azure追加額外的查詢字符串查詢字符串的URL
- 6. 重寫使用URL的.htaccess(添加查詢字符串)
- 7. 將查詢字符串追加到帶有Jquery的URL
- 8. 將空查詢字符串參數追加到Rails中的URL
- 9. HTML鏈接,追加查詢字符串到當前URL
- 10. 如何在AngularJS中追加查詢字符串到url?
- 11. Zend Framework:將查詢字符串追加到當前頁面url
- 12. 如何將查詢字符串追加到Angular UI中的URL
- 13. 的.htaccess重寫URL查詢字符串
- 14. URL查詢字符串不.htaccess文件
- 15. 使用.htaccess查詢字符串URL以清理URL
- 16. .htaccess URL重定向附加查詢字符串與目標URL
- 17. 我如何讓.htaccess做我想做的事? :)(追加查詢字符串URL)
- 18. 如何將查詢字符串追加到當前使用jQuery的URL
- 19. 我如何使用jquery將當前查詢字符串追加到.ashx url
- 20. 將查詢字符串附加到URL
- 21. 將查詢字符串附加到URL
- 22. 將查詢字符串添加到URL
- 23. 將查詢字符串添加到URL
- 24. 幫助,htaccess的查詢字符串追加不斷
- 25. htaccess的重寫規則追加查詢字符串參數
- 26. htaccess重定向追加查詢字符串
- 27. 將.htaccess轉換爲web.config時查詢字符串追加
- 28. 使用mod_rewrite將查詢字符串追加到參數
- 29. 使用jquery將數組追加到查詢字符串
- 30. 用隨機字符串追加AJAX請求追加到URL
嗨,在這裏堆棧溢出和更廣泛的互聯網上有一百萬資源。請始終先搜索。謝謝! –
不幸的是,我發現只有這個版本,但它不適合我:'RewriteRule^blog /([ - a-zA-Z0-9 _] +)/? view.php?&show = $ 1 [L]',即重定向到http://domain.com/blog/my_article_name –