尝试使用Yii 2启用漂亮的URL时出错

时间:2014-11-25 10:45:16

标签: php apache yii yii2

我正在使用Yii 2,我想启用pretty URL's,以便我可以访问以下内容:

www.example.com/controller/method

根据我的发现,您在config/web.php组件部分添加以下代码:

'urlManager' => [
    'enablePrettyUrl' => true,
    'showScriptName' => false,
    'enableStrictParsing' => true,
    'rules' => [

    ],
],

然而,当我加载索引页面时,我现在收到此错误:

exception 'yii\base\InvalidRouteException' with message 'Unable to resolve the request: site/error' in *************\vendor\yiisoft\yii2\base\Controller.php:122

还有以前的例外:

exception 'yii\web\NotFoundHttpException' with message 'Page not found.' in ***************************\vendor\yiisoft\yii2\web\Request.php:187

这是我的.htaccess文件:

# use mod_rewrite for pretty URL support
RewriteEngine on

# If a directory or a file exists, use the request directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# Otherwise forward the request to index.php
RewriteRule . index.php

我在规则部分遗漏了什么,或者我在这里做错了什么?

1 个答案:

答案 0 :(得分:3)

尝试删除'enableStrictParsing'=>真,

enableStrictParsing:此属性确定是否启用严格请求解析。如果启用了严格解析,则传入的请求URL必须至少与其中一个规则匹配才能被视为有效请求,否则将抛出yii \ web \ NotFoundHttpException。如果禁用严格解析,则当所有规则都不匹配请求的URL时,URL的路径信息部分将被视为请求的路由。