代码之家  ›  专栏  ›  技术社区  ›  Lark

PHP MVC+路由器和重定向问题

  •  0
  • Lark  · 技术社区  · 16 年前

    1. 请求URI被剥离,请求的控制器、方法和任何参数被设置为变量,以便稍后在脚本中使用。
    2. 这个路由器.php检查以确保请求的控制器是否确实存在,如果不存在则返回false,但如果所有内容都检查出来则返回true
    3. 如果它返回false,那么路由器将发送一个重定向到一个自定义404页。这使用PHP的header()函数,在header后面有一个exit()(“Location:”);

    第四步是出现问题的地方。请求的控制器存在,所以它被执行;请求的视图存在,所以它正确地加载所有内容,但是即使在成功加载视图后调用了exit(),它也会执行重定向。

    路由器为什么会继续打开并触发重定向?

    1 回复  |  直到 16 年前
        1
  •  1
  •   Fanis Hatzidakis    16 年前

    我不会猜(根据@Tomasz:),但即使你 exit() 浏览器将尊重它得到的任何http头,包括一个位置。

    事实上,在类似的情况下,对于任何错误,我都会发送一个重定向头,然后执行 exit 以确保执行不会在控制器中继续 之后

    推荐文章