我一直在尝试以下规则来删除所有三个'模块名称','控制器','动作'并在yii中仅显示params:
'/<country:\w+>/<trip:\w+>/<poi:\w+>' => 'module/detail/index/'
工作正常。但是,只要调用来自其他模块的url(例如'other-module / controller / action'),就会激活规则。无论如何在模块内部或仅为一个模块实现规则?
非常感谢提前
答案 0 :(得分:1)
您的网址规则过于宽泛,可能适用于很多网址路径。
对我来说,解决问题的最佳方法是创建一个自定义url rule class,检查<country:\w+>
是否与国家/地区名称相匹配(它可能与数组或数据库中的一个匹配)如果你有一张包含所有国家的表格。)
检查yii guide,它们对汽车品牌有同样的看法
答案 1 :(得分:1)
我认为你需要在URL中使用一些静态字符串来区分它。动态URL会导致问题,它不允许您调用保持相同结构的特定模块。
您可以为任何自定义静态字符串添加前缀或后缀。
我希望有所帮助。