[英]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.