[英]Mod-Rewrite: Ignore/exclude parameter when using QSA flag
我正在嘗試傳遞參數,並在PHP上已使用mod rewrite重寫的URL上使用GET
函數,這是PHP提出的以下問題:Mod Rewrite URL上的GET變量 。
這是我目前所擁有的:
RewriteRule ^search/$ ?action=search [L,QSA]
我希望該URL僅顯示為search/?q=test&p=1
而不是search/?action=search&q=test&p=1
,這是上面的重寫規則所提供的,有沒有辦法告訴它忽略第一個規則中的參數還是忽略特定參數?
RewriteRule ^search/?q=([^/]+)&p=([0-9])$ ?action=search&q=$1&p=$2 [L,QSA]
您可以將以下規則與%{THE_REQUEST}變量一起使用,以與完整的請求行匹配:
RewriteCond %{THE_REQUEST} /search/\?action=[^&]+q=([^&]+)&p=([^&\s]+)$ [NC]
RewriteRule ^ /search/?q=%1&p=%2 [NC,L,R]
這將重定向
至
然后以下規則將被重寫:
到原始位置
?action = foo&q = bar&p = 1
RewriteRule ^ search / $?action = search [L,QSA]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.