2013-07-26 72 views
0

當我嘗試用urlManager在Yii中重寫我的URL時,出現HTTP 404錯誤。Yii urser友好的url使用urlManager

這裏有兩個配置格式,我在我的main.php配置文件試過,一個像'pattern1'=>'route1'和其他新格式array('route1', 'pattern'=>'pattern1')

'urlManager' => array(
      'urlFormat' => 'path', 
      'rules' => array(
       'messageBulk'=>'message/apiBulk' 
      ), 
     ), 

'urlManager' => array(
       'urlFormat' => 'path', 
       'rules' => array(
        array('message/apiBulk', 'pattern'=>'messageBulk') 
       ), 
      ), 
+1

什麼是調試面板顯示?您試圖使用您的規則訪問哪個網址?你的http://yourwebsite.com/index.php/message/apiBulk工作嗎? – ernie

+0

是的,yourwebsite.com/index.php/message/apiBulk作品謝謝你!我不知道你需要把index.php放在前面。我該如何去除那部分? –

回答

0

寫錯了URL,缺少「index.php」。答案在@ ernie的評論中。

什麼是調試面板顯示?您試圖使用您的規則訪問哪個網址?你的yourwebsite.com/index.php/message/apiBulk工作嗎?

0

什麼樣的網址你要買產生?因爲我對你在那裏出現的配置有點困惑。無論如何,這是我用於我的項目的模板:

'urlManager'=>array(
     'urlFormat'=>'path', 
     'rules'=>array(
      // REST patterns 
      array('api/list', 'pattern'=>'api/v1/<model:\w+>', 'verb'=>'GET'), 
      array('api/view', 'pattern'=>'api/v1/<model:\w+>/check', 'verb'=>'GET'), 
      array('api/view', 'pattern'=>'api/v1/<model:\w+>/<id:\d+>', 'verb'=>'GET'), 
      array('api/create', 'pattern'=>'api/v1/<model:\w+>', 'verb'=>'POST'), 

      '<controller:\w+>/<id:\d+>/'=>'<controller>/view', 
      '<controller:\w+>/<action:\w+>/<id:\d+>/*'=>'<controller>/<action>', 
      '<controller:\w+>/<action:\w+>/*'=>'<controller>/<action>', 
      '<controller:\w+>/<action:\w+>/'=>'<controller>/<action>', 
      '<module:\w+>/<controller:\w+>/<action:\w+>/'=>'<module>/<controller>/<action>', 
     ), 
     //'showScriptName'=>false, 
    ), 

我希望它能幫助你。