2017-05-07 93 views
0

經過幾個星期的休息後,我回到了我的Yii2工作,在我目前的項目上運行composer update,&在@frontend/views/site/pages的任何以前的工作頁面上得到404錯誤。Yii2網站/頁面404錯誤

我的網址經理...

'urlManager' => [ 
    'enablePrettyUrl' => true, 
    'showScriptName' => false, 
    'suffix' => '.p2m', // confuses bad guys 
    'rules' => [ 
     '<controller:\w+>/<id:\d+>' => '<controller>/view', 
     '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>', 
     '<controller:\w+>/<action:\w+>' => '<controller>/<action>', 
     '<view:[a-zA-Z0-9-]+>/'=>'site/page', 
    ] 
], 

從我的導航欄是該行的一個例子...

['label' => 'Some Page', 'url' => ['/site/page', 'view' => 'somepage']], 

產生網址...

http://example.com/site/page.p2m?view=somepage 

在今天之前,這一切工作,&我正在撕裂我的頭髮,試圖理解爲什麼它不再做。

TIA,佩德羅

回答

1

也許你已經混淆了動作的名稱?

請在SiteController中顯示您的actionPage()。可能你有actionPage s()而不是?

此外,你可以美化你的代碼。

actionPage($view) 

然後添加在規則

'site/page/<view:[\w-]+>' => '<controller>/<action>', 

和URL網站/網頁/ SomePage的正常工作。

但更好的方法是使PageController和每個頁面作爲單獨的操作。

還要檢查.htaccess和httpd.conf(如果使用apache)或nginx配置以確保服務器工作正常。