2013-03-01 55 views
2

我有一個網站,我的鏈接看起來像這樣 http://www.domain.com/index.php?lang=English&inc=canyoning 我設法寫重寫規則是這樣的:的.htaccess規則確實重寫URL地址欄

RewriteRule (German|English)\/(.*) http://www.domain.com/index.php?lang=$1&inc=$2 [NC,R]

現在我的鏈接看起來是這樣的:<a href="http://www.domain.com/English/canyoning"> ...

這可行,但我可以在瀏覽器地址欄中看到非用戶友好的URL。我如何告訴瀏覽器在URL中使用鏈接/English/canyoning,而不是index.php?lang=English&inc=canyoning

第二:我想在頁面上使用表單。 沒有區別,我是否使用form method = GET或POST,沒有變量來到目標站點。

我想我的rewriteRule錯了。如何解決這些問題?

謝謝你的幫忙!

+0

你應該單獨問你的第二個問題。 StackOverflow的FAQ格式不適用於多個問題。 – 2013-03-01 11:35:24

+0

此外,你可能會得到更好的迴應,網址是http://webmasters.stackexchange.com/ – Raad 2013-03-01 11:53:59

回答

3

這是因爲你正在做一個重定向不是重寫。(該R標誌指示Redirect

所以去除R標誌應該解決您的問題。

您可能還需要刪除硬編碼域。當你正在重寫你不能重寫到一個不同的域。

即。更改

RewriteRule (German|English)\/(.*) http://www.domain.com/index.php?lang=$1&inc=$2 [NC,R] 

RewriteRule (German|English)\/(.*) /index.php?lang=$1&inc=$2 [NC] 
+0

謝謝@cowls,真的有幫助! – user2123280 2013-03-01 11:46:42

+0

+1的解決方案 – 2013-03-01 11:59:00