我正在使用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
我在规则部分遗漏了什么,或者我在这里做错了什么?
答案 0 :(得分:3)
尝试删除'enableStrictParsing'=>真,
enableStrictParsing:此属性确定是否启用严格请求解析。如果启用了严格解析,则传入的请求URL必须至少与其中一个规则匹配才能被视为有效请求,否则将抛出yii \ web \ NotFoundHttpException。如果禁用严格解析,则当所有规则都不匹配请求的URL时,URL的路径信息部分将被视为请求的路由。