2011-11-17 84 views
0

我一直在努力工作我的頭,但我的.htaccess權力只是沒有我想象的那麼好。我有這個樣本查詢字符串:htaccess:從查詢字符串中刪除選定的鍵=值對

http://mycoolsite.com/store.php?a=apples&type=fresh&b=banana 

是否有可能做到這一點使用的.htaccess:

  1. 檢查是否存在type=fresh。如果沒有,那麼重定向到網頁的index.php
  2. 如果類型=新鮮存在,刪除,但保留查詢字符串

回答

1

的其餘部分可以使用mod_rewrite來匹配查詢字符串。在你的.htaccess:

RewriteEngine On 
RewriteCond %{QUERY_STRING} ^(.*)type=fresh&?(.*)$ 
RewriteRule ^(.*)$ /$1?%1%2 [L,R] 

這將使它所以如果有人進入瀏覽器http://mycoolsite.com/store.php?a=apples&type=fresh&b=banana,瀏覽器會重定向到http://mycoolsite.com/store.php?a=apples&b=banana。如果您希望重定向發生在內部(因此瀏覽器的地址欄不會更改),請刪除RewriteRule末尾括號中的,R

+0

謝謝,我在http://htaccess.madewithlove.be/測試了這個結果,得到的URL變成了'http://mycoolsite.com/store.php?%1%2'。它不應該是* http://mycoolsite.com/store.php?a =蘋果&b =香蕉*? – enchance

+0

%1和%2是對以前RewriteCond的反向引用。這在我的.htaccess文件中起作用。 –