301重定向删除参数

时间:2017-07-11 07:25:31

标签: .htaccess redirect

我想重定向此网址:

http://loremipsum.com/en/videos?tmpl=component&print=1&page=

http://loremipsum.com/videos/all-videos/

所以我写了这个301重定向:

RewriteCond %{QUERY_STRING} ^tmpl=component&print=1&page=$
RewriteRule ^en/videos$ /videos/all-videos/ [L,R=301]

它的重定向但是,url保留所有参数:

http://loremipsum.com/videos/all-videos/?tmpl=component&print=1&page=

我想要的是删除这些参数。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

如果您使用的是Apache 2.4或更高版本,则可以使用QSD来丢弃原始查询字符串:

RewriteCond %{QUERY_STRING} ^tmpl=component&print=1&page=$ [NC]
RewriteRule ^en/videos/?$ /videos/toutes-les-videos/ [L,NC,R=301,QSD]

在较旧的Apache版本中,您可以在目标中追踪?以获得相同的效果:

RewriteCond %{QUERY_STRING} ^tmpl=component&print=1&page=$ [NC]
RewriteRule ^en/videos/?$ /videos/toutes-les-videos/? [L,NC,R=301]