如何迫使路线总是使用HTTPS或HTTP吗
编辑该页面警告:你浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 4.2,不再维护。
读这个页面的更新版本Symf欧宝娱乐app下载地址ony 6.2(当前的稳定版本)。
如何迫使路线总是使用HTTPS或HTTP吗
有时,您想要获得一些路线和确保他们总是通过HTTPS协议访问。路由组件允许您执行的URI方案计划
设置:
- 注释
- YAML
- XML
- PHP
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
/ / src /控制器/ MainController.php名称空间应用程序\控制器;使用欧宝娱乐app下载地址\包\FrameworkBundle\控制器\AbstractController;使用欧宝娱乐app下载地址\组件\路由\注释\路线;类MainController扩展AbstractController{/ * * *@Route(name = " /安全”“安全”,计划= {“https”}) * /公共函数安全(){/ /……}}
1 2 3 4 5
#配置/ routes.yaml安全:路径:/安全控制器:应用程序控制器\ \ MainController::安全计划:(https)
1 2 3 4 5 6 7 8 9
< !——配置/路线。xml - - >< ?xml version = " 1.0 " encoding = " utf - 8 " ? ><路线xmlns=“http://欧宝娱乐app下载地址www.oldmanjams.com/schema/routing”xmlns: xsi=“http://www.w3.org/2001/XMLSchema-instance”xsi: schemaLocation=“http://欧宝娱乐app下载地址www.oldmanjams.com/schema/routing //www.oldmanjams.com/schema/routing/routing-1.0.xsd”><路线id=“安全”路径=“/安全”计划=“https”控制器=“应用程序控制器\ \ MainController::安全”/ >< /路线>
1 2 3 4 5 6 7 8 9 10
/ /配置/ routes.php使用应用程序\控制器\MainController;使用欧宝娱乐app下载地址\组件\路由\加载程序\配置器\RoutingConfigurator;返回函数(RoutingConfigurator美元路线){美元路线- >add (“安全”,' /安全')- >控制器([MainController::类,“安全”])- >计划([“https”]);};
上述配置力量安全
总是使用HTTPS。
当生成安全
URL,如果当前的计划是HTTP, Symfony会自动生成一个绝对与HTTPS欧宝娱乐app下载地址 URL方案,即使使用路径()
功能:
1 2 3 4 5 6 7
{#如果当前方案HTTPS #}{{路径(“安全”)}}{#生成一个相对URL: /安全#}{#如果当前的计划是HTTP #}{{路径(“安全”)}}{#生成一个绝对URL: https://example.com/secure}
还强制要求传入的请求。如果你试图访问/安全
与HTTP路径,你将自动重定向到相同的URL,但随着HTTPS方案。
上面的例子中使用https
的计划,但你也可以强迫一个URL总是使用http
。
请注意
安全组件提供执行HTTP或HTTPS通过另一种方式requires_channel
设置。这个替代方法更适合安全网站的“区域”(所有url/管理
),或者当你想安全的第三方包中定义的url(请参阅如何为不同的力HTTPS或HTTP url更多的细节)。
这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。