我有像
这样的网址localhost/abc.com/info/c/q/Best%20Men
这里info是控制器,c是action,q是查询id。
我想通过删除c / q /并使用非空间网址动态地重写这些网址。比如像这样
localhost/abc.com/info/Best_Men
是否可以使用urmanager ???
我试过这段代码,但它没有工作
'info/c/<q:\d+>'=>'info/<q:\d+>',
[编辑后]
我的配置包含此
'urlManager'=>array(
'urlFormat'=>'path',
'showScriptName'=>false,
'caseSensitive'=>false,
'urlSuffix'=>'.html',
'urlFormat'=>'path',
'rules'=>array(
'info/<q:\w+>' => 'info/c'
),
),
如需更多解释,请问我的网址是什么
http://localhost/abc.com/mycontroller/myactionsearch?q=Best
它返回搜索到的项目列表,并点击它打开的任何链接,例如点击最佳男士打开以下链接
http://localhost/abc.com/mycontroller/myactionItem/q/Best%20Men
所以实际上我在同一个控制器中有两个不同的动作,现在我想让它像
一样运行http://localhost/abc.com/mycontroller/Best%20Men
或
http://localhost/abc.com/mycontroller/myactionItem/Best%20Men
但它使用上面的配置
给出了找不到页面的错误答案 0 :(得分:1)
由于以下几个原因,这条路线是错误的:
\d
表示“数字”,因此与“Best_Men”不匹配)而不是你想要的东西更像
'info/<q:\w+>' => 'info/c'