从控制器中的URL获取协议

时间:2014-07-05 10:36:40

标签: symfony

我用谷歌搜索但是我的搜索关键字也没用,所以如何在控制器中获取URL协议?是http://或https://

http://whatever.com/app_dev.php/welcome

//I need to echo http:// protocol here
echo $request->getHost(); //echos whatever.com
echo $request->getBaseUrl(); //echos app_dev.php/

3 个答案:

答案 0 :(得分:8)

您可以在控制器中使用它:

$scheme = $this->getRequest()->getScheme();

否则,这是一个代码,允许您知道服务器返回的所有值:

 foreach ($_SERVER as $key => $value) {
      echo $key.' => '.$value.'<br>';
    }

答案 1 :(得分:4)

检查请求是否https使用:

$request->isSecure()

查看doc了解详情

答案 2 :(得分:0)

将请求传递给控制器​​,获取方案,模式或主机:

function doSomething(Request $request)
{   
    echo $request->getScheme();
    echo $request->getSchemeAndHttpHost();
}