成人午夜激情影院,小视频免费在线观看,国产精品夜夜嗨,欧美日韩精品一区二区在线播放

Codeigniter多目錄配置網站前臺后臺的方法

2013-02-06 16:23:58來源:cnblogs作者:

Codeigniter 2.0.0 已經發布快一個月了,關于新版本的一些變化大家可以查看CI中國網站有詳細說明,本文主要講述多目錄配置以及URL設置這兩個問題。

Codeigniter 2.0.0 已經發布快一個月了,關于新版本的一些變化大家可以查看CI中國網站有詳細說明,本文主要講述多目錄配置以及URL設置這兩個問題。

目標一:CI 2.0 多目錄(應用程序)配置。

多目錄的意思是指在同一個網站中有多套程序,最簡單的例子就是網站的前臺展示與后臺管理。二者由于在網站功能中分屬不同部分,通常會有不同的界面, 用到images/stylesheet/javavascript基本是分開的,所以設置不同目錄。直觀的例子來看,形如以下:

網站前臺URL:http://www.aaa.com 網站后臺管理URL::http://www.aaa.com/admin

CI 2.0源碼下載解壓后文件結構如下圖,默認是只有一個目錄的。

\

為了達成多目錄共享一個CodeIgniter的目標,我們要完成以下步驟:

1、 在application目錄下新建子目錄admin,將上圖中紅框標注的5個文件夾復制到admin下。這五個文件夾的的作用簡單描述一下,詳細說明可參考CI官網:

admin/config:基本配置文件

autoload.php 可設置本目錄程序默認加載哪些類庫;

config.php 可設置僅限本目錄程序的一些全局變量;

database.php 可設置僅限本目錄程序的數據庫連接(DSN)變量;

routes.php  可設置本目錄程序的默認加載控制器。

admin/controllers:存放本目錄控制器

admin/libraris:存放本目錄CI類庫

admin/models:存放本目錄的模型文件,這個地方有必要解釋一下,通常前臺后臺用到的數據表(table)是相同的,但是對數據表的基本 操作是不同的,現在的做法用來將各部分常用的數據模型操作寫成function分別存放,當然也不排除兩部分會有相同情況,如都可以自定義方法 get_all()用來讀取當前模型(table)的所有數據。

admin/view:存放本目錄的視圖,可以理解為page。

2、設置入口文件。因為根目錄下的index.php默認是去找applcation下的controllers下的控制器,為了讀取 applcation/admin/controllers下的控制器,我們需要在網站根目錄下新建admin文件,并將根目錄下的index.php復 制至此,接下來編輯此index.php,找到:

$system_path = "system";   //改為 $system_path = "../system";
$application_folder="application";  //改為 $application_folder = "../application/admin";

另外此目錄可能用到的css/js/images 文件夾 也可以放在新建的admin之下。

此時的程序目錄結構如下:

\

至此,第一個目標已經實現,我把兩個目錄的默認控制器加載的視圖分別做了一下修改,現在給大家展示下我們第一個目標的成果。

前臺:

\
后臺:
\

目標二:設置友好簡潔的URL。

第一個目標完成之后,現在通過URL http://ci.home/admin 可以去讀取當前應用程序里面配置文件中默認設置好的控制器welcome,但是對于非默認的控制器讀取url就有些略長了,比如在admin/applcation/controllers里有一個login控制器(對應程序就是login類)用來顯示后臺登陸頁面,需要通過這個url才能訪問 http://ci.home/admin/index.php/login/index ,根據CI規則,如果url中不寫類的方法會默認讀取index()方法,所以上面這個url也可以通過http://ci.home/admin/index.php/login訪問。

要實現的目標顯然不是上面這個,這個URL中還有一個index.php是看著不舒服的,真正的目標是把它去掉。實現方式其實很簡單,那就是通過.htaccess文件對URL重寫(rewrite)。接下來在根目錄下admin文件里里面創建一個.htaccess文件,內容如下:

RewriteEngine on
RewriteCond $1 !^(index\.php|images|css|js|scripts|robots\.txt|)
RewriteRule ^(.*)$ index.php/$1 [L]

不熟悉apache .htaccess文件重寫規則的可以去查一下文檔,此處規則是將對admin的訪問除images、css、js、scripts外都轉向此目錄下的index.php。

所以CI可以通過重定向將 http://ci.home/admin/login

轉向http://ci.home/admin/index.php/login 。(全文完)

原文:http://www.phpwell.com/?p=535

相關教程:Codeigniter多目錄配置網站前臺后臺的方法(2) 【不同方法】

 

關鍵詞:Codeigniterphpci

贊助商鏈接:

主站蜘蛛池模板: 民和| 松江区| 恭城| 鹿邑县| 龙泉市| 万载县| 子长县| 原平市| 东城区| 长丰县| 麦盖提县| 普陀区| 镇沅| 盐亭县| 漳浦县| 宁强县| 夏津县| 巴塘县| 海盐县| 波密县| 玉环县| 凤冈县| 仙桃市| 塔河县| 肇东市| 贡山| 武宣县| 三河市| 怀柔区| 白水县| 巨野县| 余姚市| 甘谷县| 雅江县| 许昌县| 禄丰县| 周至县| 台东县| 黎川县| 莒南县| 淳化县|