0

我一直在尝试以下规则来删除所有三个“模块名称”、“控制器”、“动作”,并在 yii 中只显示参数:

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

它工作正常。但是,只要调用来自其他模块的 url,例如“其他模块/控制器/操作”,就会激活规则。无论如何要在模块内或仅对一个模块实施规则?

提前谢谢了

4

2 回答 2

1

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

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

我希望这会有所帮助。

于 2014-06-18T13:03:06.183 回答
1

您的 url 规则过于宽泛,可能适用于很多 url 路径。

对我来说,解决这个问题的最好方法是创建一个自定义url 规则类,检查它<country:\w+>是否匹配一个国家名称(如果你有一个包含所有国家的表,它可能匹配来自数组或你的数据库的一个) .

检查yii指南,他们对汽车品牌也是如此

于 2014-06-18T12:54:26.693 回答