Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache 使用Mod Rewrite重定向时带特定参数_Apache_.htaccess_Mod Rewrite_Redirect_Parameters - Fatal编程技术网

Apache 使用Mod Rewrite重定向时带特定参数

Apache 使用Mod Rewrite重定向时带特定参数,apache,.htaccess,mod-rewrite,redirect,parameters,Apache,.htaccess,Mod Rewrite,Redirect,Parameters,我有一个非常复杂的重写规则,我需要检查QueryString中是否存在某些参数,然后重定向到相同的URL,但去掉这些参数 如何删除一些参数并保留其余参数 RewriteCond %{QUERY_STRING} color=red RewriteCond %{QUERY_STRING} status=contiue RewriteRule ^(.*)$ /$1? [R=301,L] url类似于: "http://example.com/site.php?setup=done&color

我有一个非常复杂的重写规则,我需要检查QueryString中是否存在某些参数,然后重定向到相同的URL,但去掉这些参数

如何删除一些参数并保留其余参数

RewriteCond %{QUERY_STRING} color=red
RewriteCond %{QUERY_STRING} status=contiue
RewriteRule ^(.*)$ /$1? [R=301,L]
url类似于:

"http://example.com/site.php?setup=done&color=red&weight=100&status=continue"
(参数顺序和数量不可预测/硬编码)

尝试以下规则:

RewriteCond %{QUERY_STRING} ^(([^&]*&)*)(color=red|status=continue)($|&)(.*)
RewriteRule .* $0?%1%5 [N,E=REMOVED:true]
RewriteCond %{ENV:REMOVED} true
RewriteRule ^ %{REQUEST_URI} [L,R=301]
另一种方法是使用PHP检查给定的参数并将其删除