yii2 - Yii 2 静态页面

标签 yii2 yii-url-manager viewaction

我无法显示静态页面。尝试按照此处文档中的描述进行操作 - http://stuff.cebe.cc/yii2-guide.pdf (第100页)但是当我启用prettyurl时,它不起作用。

在urlManager规则中添加:

'urlManager' => array(
    'enablePrettyUrl' => true,
    'showScriptName' => false,
    'rules' => array(
        '' => 'site/index',
        'login' => 'site/login',
        'contacts' => 'site/contact',
        '<view:(break)>'=>'/site/page?&view=<view>',
    ),
),

然后在SiteController中添加:

public function actions()
    {
        return [
            ...
            'page' => [
                'class'=>'yii\web\ViewAction',
            ],
        ];
    }

然后创建views/site/pages/break.php

<h1>View static page Break</h1>

但是我收到一个错误: 未找到(#404) 无法解析请求:site/page?&view=break

如果我禁用 PrettyUrl:

//'enablePrettyUrl'=>true

然后我可以看到我的页面输入网址:index.php?r=site/page&view=break

ViewAction 有什么问题吗?

最佳答案

我认为您的网址管理规则部分是错误的。 试试这个

'urlManager' => [
    'class' => 'yii\web\UrlManager',
    // Disable index.php
    'showScriptName' => false,
    // Disable r= routes
    'enablePrettyUrl' => true,
    'rules' => array(
            '<controller:\w+>/<id:\d+>' => '<controller>/view',
            '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>',
            '<controller:\w+>/<action:\w+>' => '<controller>/<action>',
    ),
    ],

规则部分应该很重要..

关于yii2 - Yii 2 静态页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28644763/

相关文章:

php - 点Yii2环境文件夹

php - Yii2 Rest api - Url 管理器添加参数

yii2 - 使用干净的 url 在 yii2 中的超链接中传递多个参数,Html::a() 不会生成干净的 url

php - 在 yii 1 web 应用程序中查看 url 而不是 id 上的文章标题以获得 SEO 漂亮的 url

php - 没有 $model 的 Yii2 下拉列表

javascript - Yii Framework 2.0 检查是否是来自 AJAX 的 GET 请求

php - yii2:显示标签而不是 bool 复选框的值

jsf - 调用 f :viewAction conditionally based on f:viewParam

带有 Intent.VIEW_ACTION 的 Android 安装 apk 不适用于文件提供程序