2011-10-22 39 views
0

我試着改寫 www.mysite.com/admin/index.php?page=pagenamewww.mysite.com/admin/pagename現代重寫這個條件

在我的.htaccess文件(位於www.mysite.com/admin)是下面的代碼行

RewriteEngine on 
RewriteRule ^([^/\.]+)/?$ index.php?page=$1 [L] 

然而,當我嘗試訪問

www.mysite.com/admin/mypage?querystring=value 

我必須鍵入

www.mysite.com/admin/mypage&querystring=value 

改爲。首先 ?由於mod重寫,必須是&符號。

我該如何制定一個重寫規則來解決這個問題。所以,我想

www.mysite.com/admin/mypage/?additional_query=value 

改寫到

www.mysite.com/admin/index.php?page=mypage&aditional_query=value 

我認爲谷歌使用#號什麼的,或放置一個/之後。我怎麼做?

回答

2

Apache已經有一個整潔的小修飾符,您可以添加到您的RewriteRule的末尾。如果您只是將規則末尾的標誌([L])更改爲[QSA,L],它會將您的查詢字符串附加到URL的末尾,而不是嘗試重寫包含它的頁面(只要查詢字符串以如預期?

我不知道,但我相信你需要刪除$符號以及

新線:

RewriteRule ^([^/\.]+)/? index.php?page=$1 [QSA,L] 
+0

感謝您的幫助,但沒有區別。:( – alecwhardy