首页 文章

在url中只显示params:Yii url重写

提问于
浏览
0

我一直在尝试以下规则来删除所有三个'模块名称','控制器','动作'并在yii中仅显示params:

'/<country:\w+>/<trip:\w+>/<poi:\w+>' => 'module/detail/index/'

它工作正常 . 但是,只要调用来自其他模块的url(例如'other-module / controller / action'),就会激活规则 . 无论如何在模块内部或仅为一个模块实现规则?

提前谢谢了

2 回答

  • 1

    您的网址规则过于宽泛,可能适用于很多网址路径 .

    对我来说,解决问题的最佳方法是创建一个自定义url rule class,检查 <country:\w+> 是否与国家/地区名称相匹配(如果您有一个包含所有国家/地区的表,则可以匹配数组或数据库中的一个) .

    检查yii guide,它们对汽车品牌也有同样的看法

  • 1

    我认为你需要在URL中使用一些静态字符串来区分它 . 动态URL会导致问题,它不允许您调用保持相同结构的特定模块 .

    您可以为任何自定义静态字符串添加前缀或后缀 .

    我希望有所帮助 .

相关问题