2011-11-17 78 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文件中起作用。 –

相关问题