天天看点

Yii框架URL的美化Yii框架

Yii框架URL的美化

  • Yii框架
    • 前言
    • 第一步
    • 第二步

Yii框架

Yii 是一个 高性能 的,适用于开发 WEB 2.0 应用的 PHP 框架。

Yii 自带了 丰富的功能,包括 MVC,DAO/ActiveRecord,I18N/L10N,缓存,身份验证和基于角色的访问控制,脚手架,测试等,可显著缩短开发时间。

来自yii中文网官方解释

前言

本文转载网络各处,本人只是加以修改。为了让逻辑更加清晰。因为康戳c的地方比较多,就不一一著名出处,如有侵权请联系我删帖,如有错误或者更好的方法欢迎大家交流讨论。谢谢大家支持!

首先我们能看到这篇文章都知道yii框架分为开发者版本和普通版本。首先声明本教程更改源为开发者版本,所有教学过程是建立在开发者版本之上,如果大家需要的是普通版本可能会稍有不同,但作为一个程序猿来说这一点点困难不可能会阻止大家继续看这一篇文章,从中吸取自己需要的东西,即使最后没能修改出来我也会在我理解的基础上加上注释方便大家理解。希望大家有所收获!

第一步

首先找到我们的项目目录

advanced

(就是我的项目根目录)

  • advanced
    • common
      • config
        • main-local
<?php
return [
    'components' => [
			//在此添加☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆
        'db' => [
            'class' => 'yii\db\Connection',
            'dsn' => 'mysql:host=localhost;dbname=ay',
            'username' => 'root',
            'password' => 'root',
            'charset' => 'utf8',
        ],
        'mailer' => [
            'class' => 'yii\swiftmailer\Mailer',
            'viewPath' => '@common/mail',
            // send all mails to a file by default. You have to set
            // 'useFileTransport' to false and configure a transport
            // for the mailer to send real emails.
            'useFileTransport' => true,
        ],
    ],
];
           

进去之后你一般会看到如上所示代码

//在此添加☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

替换成

'urlManager' => [
             'enablePrettyUrl' => true,
             'showScriptName' => false,//隐藏index.php
             'suffix' => '.html',//后缀,如果设置了此项,那么浏览器地址栏就必须带上.html后缀,否则会报404错误
             'rules' => [
              //'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
             ],
         ],
           

完成这一步你就几乎可以做到用

/

来代替

?r=

首先有一个配置域名yuanet.top配置到D://phpstudy/www/advanced/frontend/web目录下

没有部署之前是:D://phpstudy/www/advanced/frontend/web/index.php?r=site/index

    也就是:yuanet.top/index.php?r=site/index

    

  部署以后是:D://phpstudy/www/advanced/frontend/web/index.php/site/index

    也就是:yuanet.top/index.php/site/index

第二步

在advanced\frontend\web目录下用代码编辑软件复制以下代码,保存文件

.htaccess

在web目录下

RewriteEngine on
 # 如果是一个目录或者文件,就访问目录或文件
 RewriteCond %{REQUEST_FILENAME} !-d
 # 如果文件存在,就直接访问文件,不进行下面的RewriteRule
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteRule . index.php
           

现在就得出了我们想要的结果

部署以后是:D://phpstudy/www/advanced/frontend/web/site/index

  也就是:yuanet.top/site/index

  

相比于最之前的:

yuanet.top/index.php?r=site/index

   到现在是:

yuanet.top/site/index

是不是简单了很多,在测试项目的时候也会方便很多!