1

我要打301重定向从旧网址:www.test.com/?page=mypage & LANG = mylanguageHTACCES重写规则不带参数

新www.test.com/mylanguage/mypage

我用的是这样的:

RewriteCond %{QUERY_STRING} ^page=mypage&user_lang=lang$ [NC] 
RewriteRule ^(.*)$ http://test.joskin.com/lang/mypage [R=301,L,NE] 

,但是当我点击我的旧的链接,将其重定向我http://test.joskin.com/lang/mypage?page=mypage&user_lang=lang

我怎么可以脱下这些parame ters从我的新网址?

此致敬礼。

回答

0

你真的很接近!使用这个来代替:

RewriteCond %{QUERY_STRING} page=mypage&lang=mylanguage$ [NC] 
RewriteRule ^(.*)$ http://test.joskin.com/lang/mypage? [R=301,L,NE] 

,我把这里是对你重写URL的末尾添加?变化。重定向URL末尾的?就在那里,以便查询字符串不会再次出现在URL的末尾。

我从查询字符串中删除了^,这是不需要的。

我还更新了查询以匹配您在问题顶部显示的网址。如果你想改回它,我会把它留给你。

请确保您清除缓存之前测试此。

+1

非常感谢! –