天天看點

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

是不是簡單了很多,在測試項目的時候也會友善很多!