CakePHP未定义索引,并从URL中删除斜杠

CakePHP未定义索引,并从URL中删除斜杠,php,cakephp,Php,Cakephp,我有以下帮助程序,可以在我的应用程序中获取当前页面的完整url: public function selfURL() { $pageURL = 'http'; if ($_SERVER["HTTPS"] == "on") { $pageURL .= "s"; } $pageURL .= "://"; if ($_SERVER["SERVER_PORT"] != "80") { $pageURL .= $_S

我有以下帮助程序,可以在我的应用程序中获取当前页面的完整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.)以下错误:
未定义索引:HTTPS[APP/View/Helper/LinkHelper.php,第11行]

2.)url缺少斜杠,因此没有得到:
http://localhost:8888/social/users/add/
我得到了
http:/localhost:8888/social/users/add
,然后我的应用程序崩溃了

知道我为什么会犯这些错误吗

  • 如果连接不是HTTPS,则可能无法设置服务器['HTTPS']。因此使用

    if (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off')
    
  • 对于您显示的代码,这应该是不可能的。需要在缺少斜杠的地方进行更多的调试


  • 是的,斜线问题是不同的,看这里:我接受这个问题的答案。