Contributed by 
            Nicolas Grekas 
            in #26283.
        
历史上看,URL遵循的是 UNIX 约定,对目录添加斜杠,对文件则去除斜杠:
- https://example.com/foo/通常被认为是一个名为- foo的目录
- https://example.com/foo通常被认为是一个名为- foo的没有扩展名的文件
虽然对 /foo 和 /foo/ 分别伺服不同的内容 对 Google 来说是 ok 的,今日一般把它们当作是相同的URL,并且在其间跳转。
Symfony 打从地起就在帮你搞定此一问题的两个方面。如果你定义一个带有斜杠的路由,两种URL方式都工作,并且没有斜杠的会跳到另外一个上面去:
| 1 2 3 4 | # config/routes.yaml
foo_route:
    path: '/foo/'
    controller: App\Controller\DefaultController::foo | 
本例中 GET /foo/ 请求,返回一个 200 响应,而 GET /foo 请求返回一个 301 (Moved Permanently / 永久删除) 的指向 /foo/ 的重定向。
注意这只工作在 GET 和 HEAD 请求上面。
在 Symfony 4.1 我们改进了路由,以便能通过其他方式更智能地重定向。思考以下路由定义:
| 1 2 3 4 | # config/routes.yaml
foo_route:
    path: '/foo'
    controller: App\Controller\DefaultController::foo | 
Symfony 4.1 之前,GET /foo/ 请求会带来一个 404 响应。在 Symfony 4.1 中,它带来的是 301 指向 /foo 的重定向,最终令结尾斜杠处的逻辑能够在两种方式下运行。
 4.2翻译中
                     4.2翻译中

 
                     
                    