如何在yii2中从url隐藏id
我正试图从url隐藏如何在yii2中从url隐藏id,url,yii2,yii2-advanced-app,Url,Yii2,Yii2 Advanced App,我正试图从url隐藏博客id 为了更好地理解: 我想要这个网址 mysite/blog/post-slug-<id> // will be like: mysite/blog/post-slug-358 这里是我的URL代码: <a href="<?= Url::to(['post/view', 'id' => $model->id, 'slug' => $model->slug ]) ?>"> 从url管理
博客id
为了更好地理解:
我想要这个网址
mysite/blog/post-slug-<id> // will be like: mysite/blog/post-slug-358
这里是我的URL代码:
<a href="<?= Url::to(['post/view',
'id' => $model->id, 'slug' => $model->slug ]) ?>">
从url管理器中删除-
:
'urlManager' => [
'class' => 'yii\web\UrlManager',
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
'blog/<slug>' => 'blog/view',
]
]
我不确定“类”是不是nessecary;以下是我在项目中如何使用它:
'urlManager' => [
'baseUrl' => '/',
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
'ajax/<action>' => 'ajax/<action>',
'<first_step>/<second_step>/<third_step>' => 'page/index',
'<first_step>/<second_step>' => 'page/index',
'<first_step>' => 'page/index',
'<first_step:.+/>' => 'page/index', // redirect 301 /
],
],
“urlManager”=>[
'baseUrl'=>'/',
“enablePrettyUrl”=>true,
'showScriptName'=>false,
“规则”=>[
“ajax/”=>“ajax/”,
“/”=>“页面/索引”,
“/”=>“页面/索引”,
''=>'页面/索引',
''=>'页面/索引',//重定向301/
],
],
谢谢您的回答。如果我删除id,我必须如何进入id才能显示博客文章?我必须通过slug查找博客文章吗?你将只有slug,所以是的,你必须通过slug属性查找对象。但是我想通过id查找,我想有一种方法可以从url隐藏id并通过id查找。你不能从url“隐藏”它。使用它或从url中删除它并使用slug。你可以通过这个slug来搜索id,但逻辑是一样的。。你使用后段塞
'urlManager' => [
'class' => 'yii\web\UrlManager',
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
'blog/<slug>' => 'blog/view',
]
]
$slug = Yii::$app->getRequest()->getQueryParam('slug');
'urlManager' => [
'baseUrl' => '/',
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
'ajax/<action>' => 'ajax/<action>',
'<first_step>/<second_step>/<third_step>' => 'page/index',
'<first_step>/<second_step>' => 'page/index',
'<first_step>' => 'page/index',
'<first_step:.+/>' => 'page/index', // redirect 301 /
],
],