【问题标题】:.htaccess how redirect url param to subdirectory.htaccess 如何将 url 参数重定向到子目录
【发布时间】:2013-09-11 13:53:01
【问题描述】:

如何重定向此 URL 字符串: http://mydomain.com/sub?param1

对此: http://mydomain.com/sub/param1/

注意,param1 没有设置值,查询字符串只有“param1”。

【问题讨论】:

    标签: .htaccess url parameters query-string


    【解决方案1】:

    为了捕获查询字符串,需要使用%{QUERY_STRING}

    RewriteCond %{QUERY_STRING} !^$
    RewriteCond %{QUERY_STRING} ^(.*)$
    RewriteRule ^sub$ /sub/%1/? [R=301,L]
    

    但是,如果没有 http://mydomain.com/sub/param1/ 或任何规则可以捕获它仍然会失败。

    仅当http://mydomain.com/sub 包含附加的非空查询字符串时,上述条件才设置为重定向。

    【讨论】:

    • 这行得通,但现在如何防止查询字符串被附加到新 URL 上?
    • @PatrickWyzorski kindly mark my answer as the right answer if it worked for you, see here how. 至于删除查询字符串,我已经更新了答案,以便您可以使用新代码。请记住,在某些情况下,您可能会从 301 重定向中获得缓存,因此您可能不会立即看到查询字符串被删除,在这种情况下,请尝试使用其他浏览器来确认它是否有效。
    猜你喜欢
    • 1970-01-01
    • 2012-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-08
    • 2015-06-06
    • 1970-01-01
    相关资源
    最近更新 更多