【问题标题】:redirect with header function not working使用标头功能重定向不起作用
【发布时间】:2013-07-04 19:44:00
【问题描述】:

我有这个 htaccess 文件内容:

Options +FollowSymLinks 
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^admin/([a-zA-Z]+)/?([a-zA-Z0-9/]*)$ public/admin/index.php?page=$1&query=$2 [L]
RewriteRule ^([a-zA-Z]+)/?([a-zA-Z0-9/]*)$ public/index.php?page=$1&query=$2 [L]

现在我试图根据会话进行重定向,非常简单的东西。我有一个具有此功能的控制器:

protected function redirect($url) {
    header("Location: http://localhost:8888/myproject/" . $url, true);
    exit(); 
}

扩展Controller的ClientController具有页面功能

private function user_page() {
   $this->redirect("homepage");  //Not working...
}

我尝试过不同的方式来编写位置路径,例如

Location: localhost:8888/myproject/" . $url,
Location: /myproject/" . $url,

现在在阅读了关于 stackoverflow 的所有帖子后,我发现这些解决方案都没有为我工作..


编辑:这个问题的解决方案可以在header redirect to Location does not work看到

【问题讨论】:

  • 是否启用错误报告?你有错误吗?你是在header() 之前发送html/data 吗?
  • 你有错误信息吗?
  • 我已经设置了 ini_set('display_errors',1); ini_set('display_startup_errors',1);错误报告(-1);在 index.php 内部进行报告,并且没有我之前或之后没有发送数据,因为我想在继续之前看到它工作。 TDD 人!
  • 我没有收到任何错误报告消息...
  • @user4035 header() doesn't work 是不可能的,除非你在没有它的情况下编译了 php 哈哈

标签: php


【解决方案1】:

在得到header redirect to Location does not work的答复后,发现问题出在Controller中?>后面输入了几行空格,所以花了一段时间才注意到。


说明: 如果您有同样的问题,请确保您设置了行号,并查看您是否可以在文件内容之后看到任何行号。如果有的话,你也可能有空行。只需删除这些。不用说,文件内容之前的行号也是如此

【讨论】:

    猜你喜欢
    • 2014-09-07
    • 2018-10-29
    • 1970-01-01
    • 1970-01-01
    • 2010-09-30
    • 2016-02-14
    • 2020-03-01
    • 1970-01-01
    相关资源
    最近更新 更多