[英]Yii2: Remove controller from URL
我正在使用高級模板。 我在SiteController上創建了我的所有操作,因此我的所有網址都是domain.com/site/something,我需要從網址中刪除“網站”一詞,因此它將是domain.com/something。
我根據這個問題嘗試了以下規則
'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',
),
],
也基於這個問題嘗試了這個:
'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>',
],
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.