从htaccess中获取参数中删除特定的键
问题描述:
我想从我的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
答
您可以使用正则表达式:
(https?:\/\/[^?]*\??.*?)([&?]code=[^ &]*)(.*)
并将其替换:\1\3
的.htaccess:
RewriteEngine On
RewriteRule (https?:\/\/[^?]*\??.*?)([&?]code=[^ &]*)(.*) /$1$3 [L,R=301]
答
您可以在查询字符串中使用此规则用于去除code=blahblah
从任何地方:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^(.*?&)?code=blahblah(?:&(.*))?$ [NC]
RewriteRule^%{REQUEST_URI}?%1%2 [R,L]
你知道我可以用这个htaccess的 –
我更新了我的答案。我希望它能工作.. –
我仍然无法得到这个工作,我需要一个重写条件? –