从htaccess中的get参数中删除特定键

时间:2014-02-14 10:57:24

标签: php regex .htaccess

我正在尝试从我的网址中删除特定的查询参数。在我的情况下,我只想删除 code = blahblah并在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

2 个答案:

答案 0 :(得分:0)

您可以使用REGEX:

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

并替换为:\1\3

<强> DEMO

Htaccess

RewriteEngine On

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

答案 1 :(得分:0)

您可以使用此规则从查询字符串中的任何位置删除code=blahblah

RewriteEngine On

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