【问题标题】:Mod_rewrite: Include query string when redirectingMod_rewrite:重定向时包含查询字符串
【发布时间】:2011-01-29 10:32:30
【问题描述】:

我有一个关于 mod_rewrite 的小问题。这是我的代码:

RewriteEngine on 
RewriteRule ^(.*)$ http://newsite.com/moved.php?q=$1 [R=301,L]

这几乎可行,如果我访问 oldsite.com/apage.php,我会被重定向到 newsite.com/moved.php?q=apage.php。
但是,如果我转到 oldsite.com/apage.php?var=15,我会再次被重定向到 newsite.com/moved.php?q=apage.php。
我怎样才能让 oldsite.com/apage.php?var=15 重定向到 newsite.com/moved.php?q=apage.php?var=15 非常感谢!

【问题讨论】:

    标签: apache mod-rewrite


    【解决方案1】:

    使用QSA flag 将原始请求的查询自动附加到新查询:

    RewriteRule ^(.*)$ http://newsite.com/moved.php?q=$1 [R=301,L,QSA]
    

    【讨论】:

    • 谢谢,效果很好!它还把问号变成了感叹号,简直太棒了!
    猜你喜欢
    • 2012-10-02
    • 2012-11-29
    • 1970-01-01
    • 1970-01-01
    • 2015-10-25
    • 1970-01-01
    • 1970-01-01
    • 2016-12-24
    • 2018-09-18
    相关资源
    最近更新 更多