Yii2:从 URL 中删除控制器
Yii2: Remove controller from URL
我正在使用高级模板。
我在 SiteController 上创建了我的所有操作,所以我所有的 url 都是域。com/site/something,我需要从 url 中删除“站点”一词,这样它将成为域。 com/something.
我根据this question
尝试了以下规则
'urlManager' => [
'class' => 'yii\web\UrlManager',
'showScriptName' => false,
'enablePrettyUrl' => true,
'rules' => array(
'/<action:\w+>/<id:\d+>' => 'site/<action>',
'/<action:\w+>' => 'site/<action>',
'/noticia/<slug>' => 'site/noticia',
),
],
也试过这个基于this other question:
'urlManager' => [
'class' => 'yii\web\UrlManager',
'showScriptName' => false,
'enablePrettyUrl' => true,
'baseUrl' => 'http://localhost/websites/transcita/app/frontend/web',
'rules' => array(
[
'pattern' => '<action:\w+>',
'route' => 'site/<action>'
],
[
'pattern' => '<action:\w+>/<id:\d+>',
'route' => 'site/<action>'
],
'/noticia/<slug>' => 'site/noticia',
),
],
但两者都不起作用。当我输入 domain.com/something 时收到 404。
我也试过没有第一个 / 也没有用。
有什么想法吗?
试试:
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'enableStrictParsing' => false,
'rules' => [
// ...
// last rule
'<action:(.*)>' => 'site/<action>',
],
],
另一种方式:
'rules' => [
'<alias:\w+>' => 'site/<alias>',
],
我正在使用高级模板。 我在 SiteController 上创建了我的所有操作,所以我所有的 url 都是域。com/site/something,我需要从 url 中删除“站点”一词,这样它将成为域。 com/something.
我根据this question
尝试了以下规则'urlManager' => [
'class' => 'yii\web\UrlManager',
'showScriptName' => false,
'enablePrettyUrl' => true,
'rules' => array(
'/<action:\w+>/<id:\d+>' => 'site/<action>',
'/<action:\w+>' => 'site/<action>',
'/noticia/<slug>' => 'site/noticia',
),
],
也试过这个基于this other question:
'urlManager' => [
'class' => 'yii\web\UrlManager',
'showScriptName' => false,
'enablePrettyUrl' => true,
'baseUrl' => 'http://localhost/websites/transcita/app/frontend/web',
'rules' => array(
[
'pattern' => '<action:\w+>',
'route' => 'site/<action>'
],
[
'pattern' => '<action:\w+>/<id:\d+>',
'route' => 'site/<action>'
],
'/noticia/<slug>' => 'site/noticia',
),
],
但两者都不起作用。当我输入 domain.com/something 时收到 404。 我也试过没有第一个 / 也没有用。
有什么想法吗?
试试:
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'enableStrictParsing' => false,
'rules' => [
// ...
// last rule
'<action:(.*)>' => 'site/<action>',
],
],
另一种方式:
'rules' => [
'<alias:\w+>' => 'site/<alias>',
],