2010-12-02 90 views
0

所以,我此前關於mod_rewrite的一個問題,你在這裏找到mod_rewrite changing /subpage/ to /subpage問題與mod_rewrite的和GET

但現在我有這個一個全新的問題...我如何找份工作?

一樣,如果我需要通過與GET,前一些變量:mypage.com/subpage/?name=Jamie

我mod_rewrite的是這樣的:

Options +FollowSymLinks 
RewriteEngine On 
RewriteCond %{SCRIPT_FILENAME} !-d 
RewriteCond %{SCRIPT_FILENAME} !-f 

RewriteRule ^([A-Za-z0-9-]+)/?$ ?p=$1 [L] 

據我所知,這個問題可能必須處理我已經通過並重寫一個GET請求。那麼,我該如何調整以接受任何其他的GET請求,我可能需要處理?

UPDATE:
爲了澄清這個問題有點。如果我嘗試使用url mypage.com/subpage/?name=Jamie頁面加載,就好像我使用了網址mypage.com/subpage/並且「名稱」永遠不會通過。使用我的原始網址mypage.com?p=subpage & name = Jamie正常工作。

我想我需要調整這個莫名其妙...但是怎麼樣?
謝謝你花時間閱讀我可能很容易的問題!

+0

究竟是什麼問題呢? – 2010-12-02 09:13:29

+0

好吧,如果我嘗試url mypage.com/subpage/?name=Jamie頁面加載,就好像我使用url mypage.com/subpage/並且名稱永遠不會傳遞,看起來像。使用我的原始網址mypage.com?p=subpage&name=Jamie正常工作。 – jamietelin 2010-12-02 09:18:26

回答

3

使用QSA標誌— Query String Append

RewriteRule ^([A-Za-z0-9-]+)/?$ ?p=$1 [L,QSA] 

'qsappend|QSA' (query string append)
此標記強制重寫引擎追加替代的查詢字符串部分字符串轉換爲現有的字符串,而不是替換它。當您想通過重寫規則將更多數據添加到查詢字符串時使用此選項。

0

嘗試

RewriteRule ^([A-Za-z0-9-]+)/\?$ ?p=$1 [L] 

爲 '?'在正則表達式元字符,它需要進行轉義

+0

加\使它根本不工作,然後我得到的是頁面不存在。原始請求正常工作,但我無法再通過任何更多的請求,我似乎。 – jamietelin 2010-12-02 09:16:16