Yii如何获得干净漂亮的URL

Gun*_*aar 4 .htaccess url-rewriting yii yii-extensions

我是Yii框架的新手.我在配置文件中取消注释了url管理器并获得了这样的url方案:

http://localhost/mysite/index.php/displayAll
Run Code Online (Sandbox Code Playgroud)

我不希望url中的index.php.所以我想要一个像这样的东西

http://localhost/mysite/displayAll
Run Code Online (Sandbox Code Playgroud)

要做到这一点,我该怎么办.我确实玩过网址管理员和一些htaccess,但没有什么进展顺利.

请帮忙

小智 9

在你的.htaccess中你应该有这个:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
Run Code Online (Sandbox Code Playgroud)

然后你必须将urlManager组件添加到主配置文件中:

array(
    ......
    'components'=>array(
        ......
        'urlManager'=>array(
            'urlFormat'=>'path',
            'showScriptName'=>false,
            'rules'=>array(
                'pattern1'=>'route1',
                'pattern2'=>'route2',
                'pattern3'=>'route3',
            ),
        ),
    ),
);
Run Code Online (Sandbox Code Playgroud)

注意'showScriptName'=> false,这将隐藏生成的URL中的'index.php'.

要查找有关Yii URL Manager的所有信息,请在Yii的文档中查看此主题:http: //www.yiiframework.com/doc/guide/1.1/en/topics.url