簡體   English   中英

htaccess網址重定向,參數不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM