Yii url重写删除index.php

时间:2014-09-26 13:40:36

标签: php .htaccess mod-rewrite yii url-rewriting

我正在努力使网址重写,我想删除index.php,我已经做了一些研究,并找到了在线文档。

这是我到目前为止所做的,我取消了我的main.php urlmaneger,我有以下

'urlManager'=>array(
            'urlFormat'=>'path',
            'showScripName'=>false,
            'rules'=>array(
                '<controller:\w+>/<id:\d+>'=>'<controller>/view',
                '<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
                '<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
            ),
        ),

我的.htaccess在我的yiiApplication

中有效
RewriteEngine on

# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# otherwise forward it to index.php
RewriteRule . index.php

现在,当我启动应用程序时,它会给我以下错误。

**Property "CUrlManager.showScripName" is not defined.**

我如何解决此问题?我确实启用了我的重写引擎,并且我的php日志或wamp服务器日志也没有错误。

我应该在项目中重写所有网址吗?

1 个答案:

答案 0 :(得分:5)

重命名为showScriptName,因为您错误输入了属性名称。

应该是:

'urlManager'=>array(
        'urlFormat'=>'path',
        'showScriptName'=>false,
        'rules'=>array(
            '<controller:\w+>/<id:\d+>'=>'<controller>/view',
            '<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
            '<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
        ),
    ),