0

我的应用程序根据产品的类别和名称生成各种 url。例如,按类别浏览产品的 url 将是

localhost/category/Memory Cards

问题是空格被转换为%20s。如果 Iurlencoderawurlencode空格被转换为+符号,但/也被转换为%xx等价物,这会导致 url 到控制器的无效映射。

+我需要用符号而不是对我的所有网址进行编码spaces。我可以使用助手。但是,我需要在任何地方调用辅助方法。

我可以hooks用来修改 HTML、扫描所有 url 并spaces+符号替换吗?

我还需要将网址解码回spacesfrom+标志。我怎么能那样做?

如果您认为我的方法都是错误的,那么合适的方法是什么?

4

1 回答 1

3

这样做的首选方法是在表中添加一个字段(我通常使用“slug”作为字段名称),它是名称的 url 友好版本(小写,并用破折号/下划线替换空格和奇怪的字符/whatever),只要确保它保持唯一,然后使用它来生成产品的 url 并识别请求的产品。

所以你的网址看起来像localhost/category/memory-cards

你可以url_title()用来生成蛞蝓

于 2012-10-06T11:05:34.487 回答