【问题标题】:How to correctly rewrite url?如何正确重写 url?
【发布时间】:2009-04-30 19:12:12
【问题描述】:

在将 php 中的 url 从动态重写为静态时... 假设 url story.php?id=12 现在被重写,当我在故事页面中阅读 $_GET['id'] 时,它将返回 null ......

如何正确地做到这一点?

【问题讨论】:

  • 尝试添加 var_dump($_SERVER);到您的页面。应该有几个以 REWRITE_ 开头的字段。把它们贴在这里。
  • 如何重写 url?

标签: mod-rewrite url-rewriting


【解决方案1】:

确保在重写规则中添加参数...

例如,如果新地址是 /Story/12/ 而不是 story.php?id=12,它将如下所示:

RewriteRule ^Story/([^/\.]+)/?$ story.php?id=$1 [L,NC,QSA]

【讨论】:

    【解决方案2】:

    嗯...您的重写规则看起来如何?您是否可能误解了 URL 重写的要点?

    目标通常是向用户呈现“静态” URL,这些 URL 被重写为 GET 参数,以便您可以在脚本中使用它们。听起来你在做相反的事情 - 但为什么呢?

    与往常一样,要为您的问题获得好的答案,您需要准确地说出

    1. 你做了什么
    2. 您预期会发生什么
    3. 发生了什么事

    【讨论】:

      【解决方案3】:

      你的重写检查了吗?如果不尝试使用类似下面列出的东西:

      RewriteRule    ^story/(.+)/$ story.php?id=$1 [QSA]
      

      【讨论】:

        猜你喜欢
        • 2010-11-04
        • 2014-07-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-02-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多