【问题标题】:HTACCES rewrite rules without parametersHTACCESS 无参数重写规则
【发布时间】:2018-02-03 04:59:52
【问题描述】:

我想从我的旧网址进行 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

如何从我的新网址中删除这些参数?

最好的问候。

【问题讨论】:

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


    【解决方案1】:

    你真的很亲密!改用这个:

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

    我在这里所做的更改是在您重写的 URL 的末尾添加一个?。重定向 URL 末尾的? 在那里,因此查询字符串不会再次出现在 URL 的末尾。

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

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

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

    【讨论】:

    • 非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2013-12-26
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多