HTACCES重写规则没有参数

时间:2017-08-25 07:30:50

标签: .htaccess redirect url-rewriting url-redirection http-status-code-301

我想从我的旧网址进行301重定向:www.test.com/?page=mypage&lang=mylanguage

到新的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

如何从我的新网址中取消这些参数?

最好的问候。

1 个答案:

答案 0 :(得分:0)

你真的很亲密!请改用:

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

我在此处所做的更改是在您重写的网址末尾添加?。重定向网址末尾的?就在那里,以便查询字符串不再出现在URL的末尾。

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

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

确保在>测试之前清除缓存