2011-12-09 66 views
6

我有一個重寫規則是這樣的:htaccess的重寫規則保存查詢字符串

RewriteRule ^thesection$ /sections.php [L] 
RewriteRule ^thesection/(.*)$ /sections.php?show=$1 [L] 

所以,如果我進入domain.com/thesection - >它可以完美運行

但如果!我進入domain.com/thesection/hello重定向到domain.com/thesection?show=hello

我不知道我在做什麼錯,我花了數小時搜索。請幫忙!

在此先感謝

+0

什麼是'domain.com/thesection/hello'應該得到改寫爲? –

+0

嗨喬恩,domain.com/thesection/hello應該被服務器解釋爲domain.com/sections.php?show=hello 謝謝! – Marsupial000

回答

9

試試這個,讓我知道

RewriteEngine On 
RewriteRule ^thesection/?$ /sections.php [L,QSA] 
RewriteRule ^thesection/([a-z0-9\-_]+)/?$ /sections.php?show=$1 [L,QSA] 

這將重定向domain.com/thesection/hellosections.php?show=hello

的QSA旗表示:

此標記強制重寫引擎附加查詢字符串部分 將替換字符串替換爲現有字符串,而不是替換 它。當您想通過 重寫規則將更多數據添加到查詢字符串時使用此選項。

,所以你可以添加更多的參數,如:http://www.domain.com/thesection/hello/?page=1這將輸出:

Array (
[show] => hello 
[page] => 1 
) 
+0

我不知道我在做什麼錯,但沒有幫助。 如果我輸入domain.com/thesection/hello,我的瀏覽器將重定向到domain.com/thesection?show=hello,這不是有史以來最漂亮的網址。 :(謝謝無論如何,我今天學到了很多。 – Marsupial000

+0

對不起,我的不好,我有一個配置錯誤,謝謝! – Marsupial000

+0

很高興聽到你,謝謝 –

相關問題