【发布时间】:2016-10-09 21:55:47
【问题描述】:
我正在尝试从 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]
【问题讨论】:
标签: regex .htaccess redirect mod-rewrite