簡體   English   中英

如何在yii2中執行類似“類別名稱/ seoname”的操作?

[英]How can I do something like 'categoryname/seoname' in yii2?

我正在與Yii2做一個項目。 我正在嘗試使用UrlManager這樣做。 像這樣;

'<CategoryID:\w+>/<SEO:\w+>'=>'soru/goster',

但是Yii2顯示“ 404未找到”。 我如何?

您可以在config的url規則中使用變量;

'<category>/<seo>'=>'soru/goster'

然后在您的控制器中(我更改了名稱,因為您沒有發布控制器。

public function actionGoster($seo) //you can also access $category
{
  if (isset($seo))
  { 
  //do your lookup 
  }
}

像這樣訪問URL;

http://yourDomain/index.php/CATEGORY/SEO/

我這樣做是為了在數據庫中查找允許SEO友好url的項目;

'plants/<name>'=>'catalog/viewSingle'

控制器;

public function actionViewSingle($name)
{
   if (isset($name)) 
   {
      $model = Plant::model()->findByAttributes(array('url_name'=>$name));

      if ($model)
      { //do stuff }
      else
      {
      //do matches and find similar plants that has these characters...
      $this->render('error_matches', array('matches'=>$matches));
      }
   }
   else
   { 
      //404
   }

編輯:

為避免所有URL都進入該URL,請確保您包含默認規則;

'<controller:\w+>'=>'<controller>/',
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM