繁体   English   中英

htaccess从url中删除参数

[英]htaccess remove the parameter from url

我试图从网址中删除某些网址参数。 这些参数对正在显示的内容没有任何影响,但谷歌有一堆索引。

我想将它们重定向到基本URL。
以下是示例。

来自www.myexamplesite.com/?start=10
致: www.myexamplesite.com

来自www.myexamplesite.com/folder1/?start=10
致: www.myexamplesite.com/folder1

来自www.myexamplesite.com/folder2/?start=10
致: www.myexamplesite.com/folder2

实际上我不需要任何带参数的url,所以我想知道是否有办法从url中捕获并重定向所有其他可能的参数,并且只允许我将在htaccess中指定的一些选定的参数。

例子:
来自www.myexamplesite.com/?param1=10
致: www.myexamplesite.com

来自www.myexamplesite.com/?param1=10&param2=20
致: www.myexamplesite.com

来自www.myexamplesite.com/folder1/?param1=10
致: www.myexamplesite.com/folder1

来自www.myexamplesite.com/folder1/?param1=10&param2=20
致: www.myexamplesite.com/folder1

但对于param3应该是我选择的:

www.myexamplesite.com/folder1/?param3=10保持不变: www.myexamplesite.com/folder1/?param3=10

更新
我实际上已经实现了一个解决方案,但我的主要问题是它总是重定向到主页而不是相应的REQUEST_URI ......

这是我有的:

RewriteCond %{QUERY_STRING} .
RewriteCond %{QUERY_STRING} !^item= 
RewriteCond %{REQUEST_URI} !^/manage
RewriteRule .? http://www.myexamplesite.com%{REQUEST_URI}? [R=301,L] 

您可以使用此规则param3=所有查询字符串,除非在其中找到param3=

RewriteEngine On

RewriteCond %{QUERY_STRING} .
RewriteCond %{QUERY_STRING} !(?:^|&)param3= [NC]
RewriteRule ^ %{REQUEST_URI}? [R=301,L,NE]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM