簡體   English   中英

mod_rewrite和GET問題

[英]Problems with mod_rewrite and GET

所以,我之前有一個關於mod_rewrite的問題,您可以在這里找到mod_rewrite將/ subpage /更改為/ subpage

但是,現在我對此有了一個全新的問題...如何使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請求?

更新:
為了澄清這個問題。 如果我嘗試使用URL mypage.com/subpage/?name=Jamie頁面加載,就好像我使用了URL mypage.com/subpage/一樣 ,“名稱”將永遠不會傳遞。 使用我的原始網址mypage.com?p=subpage&name=Jamie可以正常工作。

我想我需要以某種方式進行調整...但是如何?
感謝您抽出寶貴的時間閱讀我可能很簡單的問題!

使用QSA標志- 查詢字符串追加

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

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

嘗試

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

如“?” 是正則表達式中的元字符,需要進行轉義

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM