[英]htaccess url redirects with parameters not working
我搜索了以前有關帶參數的URL重定向的問題,但似乎沒有一個問題與我的特定問題有關。 我不是程序員,所以我真的不知道如何根據自己的情況調整其他建議。 嘗試使用特定的HTACCESS字符串(並適應其他URL)確實會對我有所幫助。
我對WP博客的永久鏈接進行了SEO重組,我發現盡管裸露的URL可以重定向,帶有參數的URL不能重定向,但它們將出現404錯誤。 我需要URL參數,因為我的網站是多語言的(Transposh插件),所以“ lang”參數告訴網站將內容翻譯成哪種語言。
我想我可能需要創建一堆HTACCESS重定向,將帶有語言參數的舊URL重定向到這些URL的新的永久鏈接,並將lang參數傳遞通過。
例如:
Source URL: /this-old-postname/?lang=(*)
Destination URL /blog/this-new-postname/?lang=$
由於已經對每個URL進行了調整以獲得最佳SEO貢獻,因此無法預測URL模式(盡管參數模式是可預測的)。
我希望我需要編寫很多這樣的代碼,每個代碼都是唯一的,因此,如果您能夠提供一個示例,能否請您為兩次重定向提供它,以使其適用於以下實際示例?
Source: http://www.travelnasia.com/thailand/bangkok/don-mueang-airport/?lang=zh
Destination: http://www.travelnasia.com/thailand/don-mueang-airport-bangkok/?lang=zh
Source: http://www.travelnasia.com/blog/map-attractions-bangkok-skytrain/?lang=zh
Destination: http://www.travelnasia.com/blog/bangkok-skytrain-bts-mrt-lines/?lang=zh
MOD_REWRITE已經啟用,並且在HTACCESS中創建的標准重定向可以正常工作。 我很確定要實現這一點,我將需要使用:
RewriteCond %{QUERY_STRING} ^lang=(.*)$
我了解這可確保從源URL中讀取查詢字符串。
我認為這樣的重定向規則應該起作用,但是它不起作用:
RewriteRule ^test-redirect/$ http://test.travelnasia.com/destination/hanoi/hanoi-vietnam-destination-guide/$1 [L,QSA]
我嘗試了很多其他組合,但似乎都不起作用。
在此先感謝您提供的任何幫助。
托尼
如果您不介意包含其他查詢字符串參數,那么[QSA]
(附加查詢字符串)是迄今為止最簡單的選擇。
如果這是永久更改,請使用[R=301]
使其成為301重定向。
這應該適合您的目的
RewriteEngine on # if not already enabled
RewriteRule ^thailand/bangkok/don-mueang-airport/?$ /thailand/don-mueang-airport-bangkok/ [QSA,R=301]
RewriteRule ^/blog/map-attractions-bangkok-skytrain/?$ /blog/bangkok-skytrain-bts-mrt-lines/ [QSA,R=301]
# ...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.