Symfony2路由 - URL中的字符大小

时间:2014-06-10 16:28:45

标签: symfony routing

在网址中遇到字符大小问题。 例如,我有一个路径路径:

_product:
pattern:  /product
defaults: { _controller: StoreBundle:Product:index }

然后当我在url(/app_dev.php/product)中使用它时,它工作正常,但如果我使用相同的路径,但有一些大写字符(/app_dev.php/ProduCT),那么symfony说我&#34 ;找不到路线"。

有没有办法让网址对字符大小免疫?

1 个答案:

答案 0 :(得分:0)

如果您出于某种原因需要这样做(但是,这是一种不好的做法,并强调您做了一些非常错误的事情,那么这将有效:

_product:
    pattern:   /{url}/
    defaults:  { _controller: StoreBundle:Product:index }
    requirements:
        url:  (?i:product)

基本上,您使用URL中的变量执行不区分大小写的正则表达式。您也可以定义遵循类似模式的多条路线。

此方法的优点是您不必为其添加重写规则。

我必须重申,你不应该这样做。这是非常糟糕的做法。一开始对SEO有害。

另外,值得注意的是,您正在寻找的术语是“不区分大小写的”#34;。字符不会改变大小,它们正在改变大小写。 ;)