Symfony2路由路径中的特殊字符


Symfony2 special chars in route path

Symfony2默认按ID显示实体详细信息

 /**
 * Finds and displays a State entity.
 * @Route("state/{id}", name="state_show")
 * @Template()
 */

我想显示州名,但大多数州包含特殊字符(波兰特殊字符)。

链接工作,如果我使用{name},但它是安全的使用特殊字符在链接?

您可以使用Gedmo扩展,特别是Sluggable。

由于您不打算对URL进行编码,因此下列字符以外的字符是不安全的。

  • 字母数字,

  • 保留";", "/", "?", ":", "@", "=", "&"

  • 特殊字符:$-_.+!*'(), .

在我看来,最好的方法(也适用于SEO)是将波兰字母改为标准字母(例如:z => l, z => a),并使用-作为单词分隔符