CakePHP Undefined index并删除URL中的斜杠

时间:2012-01-10 23:00:27

标签: php cakephp

我有以下帮助程序在我的应用程序中获取当前页面的完整URL:

public function selfURL()
{
    $pageURL = 'http';

    if ($_SERVER["HTTPS"] == "on")
    {
        $pageURL .= "s";
    }
    $pageURL .= "://";
    if ($_SERVER["SERVER_PORT"] != "80")
    {
        $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
    } 
    else
    {
        $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
    }
        return $pageURL;  
}

然而,当我使用它时,我会遇到两个问题:

1。)以下错误: Undefined index: HTTPS [APP/View/Helper/LinkHelper.php, line 11]

2。)网址丢失了斜线,而不是获取: http://localhost:8888/social/users/add/我得到http:/localhost:8888/social/users/add,然后炸毁我的申请。

为什么我会收到这些错误?

1 个答案:

答案 0 :(得分:0)

    如果连接不是HTTPS,则
  1. $_SERVER['HTTPS'] 可能未设置。因此使用

    if (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off')
    
  2. 使用您显示的代码,这是不可能的。需要更多调试,确切地说丢失了斜杠。