Symfony2路由-URL中的字符大小

Symfony2路由-URL中的字符大小,symfony,routing,Symfony,Routing,url中的字符大小有问题。 例如,我有一个路由路径: _product: pattern: /product defaults: { _controller: StoreBundle:Product:index } 然后,当我在url/app_dev.php/product中使用它时,它可以正常工作,但是如果我使用相同的路径,但带有一些大写字符/app_dev.php/product,那么symfony说我找不到路由 有没有办法使url不受字符大小的影响?如果出于某种原因需要这样做,这是一种

url中的字符大小有问题。 例如,我有一个路由路径:

_product:
pattern:  /product
defaults: { _controller: StoreBundle:Product:index }
然后,当我在url/app_dev.php/product中使用它时,它可以正常工作,但是如果我使用相同的路径,但带有一些大写字符/app_dev.php/product,那么symfony说我找不到路由


有没有办法使url不受字符大小的影响?

如果出于某种原因需要这样做,这是一种不好的做法,并且会突出显示您做了一些非常错误的事情,那么这将起作用:

_product:
    pattern:   /{url}/
    defaults:  { _controller: StoreBundle:Product:index }
    requirements:
        url:  (?i:product)
本质上,您可以使用URL中的变量执行不区分大小写的正则表达式。您也可以定义遵循类似模式的多条管线

这种方法的优点是不必为其添加重写规则

不过,我必须重申,你不应该这样做。这是非常糟糕的做法。首先,这对搜索引擎优化不利


另外,值得注意的是,您要查找的术语不区分大小写。字符不是在改变大小,而是在改变大小写

当然它是区分大小写的;无论您在路由中定义了什么,都应该解决使用mod_rewrite将url大小写更改为较低的问题。通过错误的做法,您的意思是使用重写规则或您给我的示例?如果必须这样做,重写规则是一种好方法,但与此相比,它们更复杂,更难根据您的服务器配置进行更新。这项建议,或者重写规则都不应该发生,依我看——这就是我的意思。