【发布时间】:2015-12-01 03:55:30
【问题描述】:
如何在 Yii2 中重写 url。我想重写网址
/post/index?id=1
到
/post/1-example
【问题讨论】:
如何在 Yii2 中重写 url。我想重写网址
/post/index?id=1
到
/post/1-example
【问题讨论】:
您需要在config/main.php(如果是高级模板)或web.php 中为urlManager 添加以下rules 代码。
[
'components' => [
'urlManager' => [
'showScriptName' => false,
'enablePrettyUrl' => true,
'enableStrictParsing' => false,
'rules' => [
'post/<id:\d+>-example' => 'post/index',
],
],
],
]
【讨论】:
[
'components' => [
'urlManager' => [
'showScriptName' => false,
'enablePrettyUrl' => true,
'enableStrictParsing' => false,
'rules' => [
'post/<id:\d+>-<title:\w+>' => 'post/index',
],
],
],
]
【讨论】:
您需要将以下代码添加到组件部分下的backend/config/main.php:
'urlManager' => [
'class' => 'yii\web\UrlManager',
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => array(
'<controller:\w+>/<id:\d+>' => '<controller>/view',
'<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
'<controller:\w+>/<action:\w+>' => '<controller>/<action>',),
],
我发布只是因为 ians 应该是所有整个项目的通用名称。
【讨论】: