使用url管理器yii-php调整自定义url


adjust custom url using url manager yii php

我有类似的url

localhost/abc.com/info/c/q/Best%20Men

这里info是控制器,c是动作,q是查询id。

我想通过删除c/q/并使用非空间url来动态重写这些url。例如像这个

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

但使用上面的配置会出现找不到页面的错误

由于以下几个原因,该路由是错误的:

  • 它与特定查询不匹配('d表示"数字",因此它与"Best_Men"不匹配)
  • 它不转发到有效的控制器操作
  • 这对值应该切换

相反,你想要更类似的东西

'info/<q:'w+>' => 'info/c'