如何迫使路线总是使用HTTPS或HTTP吗
编辑该页面警告:你浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 4.1,不再维护。
读这个页面的更新版本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”}) * /公共函数安全(){/ /……}}
上述配置力量安全
总是使用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许可证。