Dot-Htaccess
將不同語言的網址重定向到 htaccess 中的英文對應網址
我正在嘗試將以
/?lang=da
,結尾/?lang=de
的語言 URL 重定向/?lang=nl
到相同的 URL 但以/?lang=en
.所以
www.example.com/accommodation/hotel-room-1/?lang=da
應該導致
www.example.com/accommodation/hotel-room-1/?lang=en
等等
有沒有辦法為此使用萬用字元?
如果這些語言版本不再存在,那麼您可以在根
.htaccess
文件中使用 mod_rewrite 實現重定向。例如,在
.htaccess
文件頂部附近嘗試以下操作:RewriteEngine On RewriteCond %{QUERY_STRING} ^lang=(da|de|nl)$ RewriteRule (.*) /$1?lang=en [R=301,L]
此 301 重定向
/<anything>?lang=da
(或de
或nl
)到相同的 URL 路徑,但帶有lang=en
. 與您的範例一樣,/accommodation/hotel-room-1/?lang=da
重定向到/accommodation/hotel-room-1/?lang=en
.反向引用從請求的 URL中
$1
擷取 URL 路徑。請注意,最好先使用 302(臨時)重定向進行測試,以避免記憶體任何錯誤的重定向,並且只有在您確定它按預期工作時才更改為 301。