Symfonyob娱乐下载 4.1新增功能:更智能的URL重定向
2018年3月1日·发表的哈维尔Eguiluz
警告:这篇文章是关于一个不受支持的Symfony版本。ob娱乐下载有些信息可能已经过时了。阅读最新的Symfony文档ob娱乐下载.
提供的
尼古拉斯Grekas
在# 26283.
从历史上看,url遵循UNIX惯例,为目录添加尾随斜杠,并删除它们来引用文件:
https://example.com/foo/
通常认为一个目录叫做喷火
https://example.com/foo
通常认为一个文件叫做喷火
没有任何文件扩展名。
虽然服务内容不同/ foo
而且/ foo /
谷歌可以吗在美国,现在将两个URL视为相同的URL并在它们之间重定向是很常见的。
从第一天起,Symfony就ob娱乐下载在这个问题的两个方面帮助你。如果你定义了一个以斜杠结尾的路径,两个url都可以工作,没有斜杠的url会重定向到另一个:
1 2 3 4
#配置/ routes.yamlfoo_route:路径:“/ foo /”控制器:应用程序控制器\ \ DefaultController:: foo
在这个例子中,a获得/ foo /
请求返回一个200
响应和GET / foo
请求返回一个301
(永久移动)重定向到/ foo /
.注意,这只适用于得到
而且头
请求。
在Syob娱乐下载mfony 4.1中,我们改进了路由器,在其他方面也实现了更智能的重定向。考虑以下路由定义:
1 2 3 4
#配置/ routes.yamlfoo_route:路径:' / foo '控制器:应用程序控制器\ \ DefaultController:: foo
在Symfony 4.1之前ob娱乐下载,a获得/ foo /
请求导致404
响应。在Syob娱乐下载mfony 4.1中,它的结果是301
重定向到/ foo
,使得后面的斜杠智能逻辑最终可以双向工作。
发表在#生活在边缘
评论
评论截止。
为了确保评论保持相关性,旧帖子将被关闭。
但为什么不是308重定向呢?它允许保存请求体和方法。