【问题标题】:.htaccess RewriteRule - matching patterns & forwarding posts.htaccess RewriteRule - 匹配模式和转发帖子
【发布时间】:2013-10-30 16:01:07
【问题描述】:

我正在尝试编写一个规则,该规则使用与模式匹配的规则来维护旧版 url,但我想添加一些重定向 url 帖子的内容。我不擅长这个 htaccess 的东西。这是一个场景:

旧网址:

www.blah.com/register/player

旧版重写规则:

RewriteRule ^register/(.*)/?$ /account/register.php?type=$1 [NC,L]

新网址:

www.blah.com/register/player?email=bob@g.com

新的重写规则???

RewriteRule ^register/(.*)/?$ /account/register.php?type=$1 [NC,P]

我发现这篇帖子 Is it possible to redirect post data? 帮助我找到了 P 标志,它在没有模式匹配的情况下工作,但当我尝试同时做这两个时它不起作用。

我不想只添加另一个模式匹配,因为我的 url 发布数据可以是任意的,带有多个参数(上述情况已简化)。看来这应该是可行的。是吗?谢谢。

【问题讨论】:

    标签: regex apache .htaccess mod-rewrite


    【解决方案1】:

    似乎您需要在重定向时附加查询字符串,因此需要 QSA 标志

    试试:

    RewriteRule ^register/(.*)/?$ /account/register.php?type=$1 [QSA,NC,P]
    

    【讨论】:

    • 这行得通!我不知道那面旗帜。非常感谢你。这是未来人的链接httpd.apache.org/docs/current/rewrite/flags.html#flag_qsa
    • 我不认为你真的需要[P],因为你只是在获取数据之后,无论如何都会处理POST。尝试将[P] 替换为[L],表示此重写条件中的最后一个重写规则。
    猜你喜欢
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-13
    • 2018-02-07
    相关资源
    最近更新 更多