我有這樣的Apache重寫規則:追加查詢字符串中使用htaccess的URL重寫不工作
RewriteCond %{QUERY_STRING} !lang
RewriteCond %{HTTP_HOST} ^(jp|en|kr|cn)\.example\.com
RewriteRule ^(.*)$ http://%1.example.com/$1&lang=%1 [L, QSA]
RewriteCond %{HTTP_HOST} ^(jp|en|kr|cn)\.example\.com
RewriteRule ^(.*)$ http://%1.example.com/$1?lang=%1 [L, QSA]
我的預期是什麼
http://en.example.com
到http://en.example.com?lang=en
http://en.example.com/list.php
到http://en.example.com/list.php?lang=en
http://en.example.com/product.php?id=1
到http://en.example.com/product.php?id=1&lang=en
(1)和(2)是好的,但我得到了(3)是
http://en.mobile-wifi_rental.local/product.php&lang=en?id=1
。
在我情況下,它不需要是通用的。我可以使用確切的國家代碼('jp | en | kr | cn')和域名('example.com')。 – Sithu
它在http://htaccess.mwl.be/嘗試了您的通用規則。 'http://en.example.com/product.php?id = 1'不添加'id = 1'。結果是'http://en.example.com/product.php?lang = en'。我想要的是像'http://en.example.com/product.php?id = 1&lang = en' – Sithu
是的,我只需要一條規則,它可以在真實的現場服務器上運行,在線測試器http:// htaccess.mwl.be/不僅僅按預期工作。 – Sithu