2014-02-14 39 views
1

我想从我的URL中删除特定的查询参数。在我的情况下,我只想删除 code = blahblah并在htaccess中执行此操作。从htaccess中获取参数中删除特定的键

例如,如果我的网址是 http://www.foo.com/project/index.php/current-page?code=blahblah

我需要它做成为 http://www.foo.com/project/index.php/current-page

我不想摆脱所有查询参数虽然如的。 http://www.foo.com/project/index.php/current-page?id=67&code=blahblah

我需要它成为 http://www.foo.com/project/index.php/current-page?id=67

回答

0

您可以使用正则表达式:

(https?:\/\/[^?]*\??.*?)([&?]code=[^ &]*)(.*) 

并将其替换:\1\3

DEMO

的.htaccess

RewriteEngine On 

RewriteRule (https?:\/\/[^?]*\??.*?)([&?]code=[^ &]*)(.*) /$1$3 [L,R=301] 
+0

你知道我可以用这个htaccess的 –

+0

我更新了我的答案。我希望它能工作.. –

+0

我仍然无法得到这个工作,我需要一个重写条件? –

0

您可以在查询字符串中使用此规则用于去除code=blahblah从任何地方:

RewriteEngine On 

RewriteCond %{QUERY_STRING} ^(.*?&)?code=blahblah(?:&(.*))?$ [NC] 
RewriteRule^%{REQUEST_URI}?%1%2 [R,L]