2016-07-08 57 views
0

我在默認頁面上使用分頁,即yii2中的網站/索引。因此,通過連接器用於paginations生成的URL看起來像這樣Yii2如何從網址中刪除網站/索引和頁面參數

domain.com/site/index?page=1 

我想刪除網站/指數和頁面參數,這樣它看起來像如下

domain.com/1 


我試着寫在URL規則經理這樣

'site/index/<page:\d+>' => 'site/index' 

這個配置文件所做的網址類似如下

domain.com/site/index/1 


所以要刪除網站/指數,以及,我設置分頁的路線「/」這樣

$pagination->route = '/'; 

此刪除網站/指數從URL,但是這又改變了URL看起來像

domain.com/?page=1 


我試圖改變規則,URL經理這樣

'/<page:\d+>' =>'site/index'; 

但URL保持不變。我的問題是如何使它看起來像

domain.com/1 

我公司採用先進的Yii2模板,並啓用了在URL經理嚴格解析。

回答

0

我使用以下組件配置我的本地機器上這方面的工作:

'urlManager' => [ 
    'class' => 'yii\web\UrlManager', 
    'enablePrettyUrl' => true, 
    'showScriptName' => false, 
    'baseUrl' => 'http://example.dev', 
    'rules' => [ 
     [ 
      'pattern' => '<page:\d+>', 
      'route' => 'site/index' 
     ] 
    ], 
] 

和SiteController:

public function actionIndex($page=NULL) 
{ 
    var_dump($page); 
    exit; 
} 
+0

很抱歉,但這個配置並沒有爲我工作。我得到一個(#404)錯誤頁面。也許是因爲我在URL管理器中設置了'enableStrictParsing''設置爲'true'。 –

+0

我不明白爲什麼這會是一個問題 - 您可以暫時將'enableStrictParsing'設置爲false以驗證這是否是問題。你確定你接受$頁作爲你的行動參數嗎? –

相關問題