htaccess:从查询字符串中删除选定的key = value对

时间:2011-11-17 03:00:49

标签: .htaccess

我一直试图解决这个问题,但我的.htaccess力量并不如我想象的那么好。我有这个示例查询字符串:

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

是否可以使用.htaccess执行此操作:

  1. 检查type=fresh是否存在。如果没有,则重定向到页面index.php
  2. 如果 type = fresh 存在,请将其删除但保留查询字符串的其余部分

1 个答案:

答案 0 :(得分: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