亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄 搜索
歡迎 目錄 快速參考圖 基本信息 服務(wù)器要求 許可協(xié)議 變更記錄 關(guān)于CodeIgniter 安裝 下載 CodeIgniter 安裝指導(dǎo) 從老版本升級(jí) 疑難解答 介紹 開(kāi)始 CodeIgniter 是什么? CodeIgniter 速記表 支持特性 應(yīng)用程序流程圖 模型-視圖-控制器 架構(gòu)目標(biāo) 教程 內(nèi)容提要 加載靜態(tài)內(nèi)容 創(chuàng)建新聞條目 讀取新聞條目 結(jié)束語(yǔ) 常規(guī)主題 CodeIgniter URL 控制器 保留字 視圖 模型 輔助函數(shù) 使用 CodeIgniter 類(lèi)庫(kù) 創(chuàng)建你自己的類(lèi)庫(kù) 使用 CodeIgniter 適配器 創(chuàng)建適配器 創(chuàng)建核心系統(tǒng)類(lèi) 鉤子 - 擴(kuò)展框架的核心 自動(dòng)裝載資源 公共函數(shù) URI 路由 錯(cuò)誤處理 緩存 調(diào)試應(yīng)用程序 以CLI方式運(yùn)行 管理應(yīng)用程序 處理多環(huán)境 PHP替代語(yǔ)法 安全 開(kāi)發(fā)規(guī)范 類(lèi)庫(kù)參考 基準(zhǔn)測(cè)試類(lèi) 日歷類(lèi) 購(gòu)物車(chē)類(lèi) 配置類(lèi) Email 類(lèi) 加密類(lèi) 文件上傳類(lèi) 表單驗(yàn)證詳解 FTP 類(lèi) 圖像處理類(lèi) 輸入類(lèi) Javascript 類(lèi) 語(yǔ)言類(lèi) 裝載類(lèi) 遷移類(lèi) 輸出類(lèi) 分頁(yè)類(lèi) 模板解析器類(lèi) 安全類(lèi) Session 類(lèi) HTML 表格類(lèi) 引用通告類(lèi) 排版類(lèi) 單元測(cè)試類(lèi) URI 類(lèi) User-Agent 類(lèi) 表單驗(yàn)證 XML-RPC 和 XML-RPC 服務(wù)器 Zip 編碼類(lèi) 緩存適配器 適配器參考 適配器 數(shù)據(jù)庫(kù)類(lèi) Active Record 類(lèi) 數(shù)據(jù)庫(kù)緩存類(lèi) 自定義函數(shù)調(diào)用 數(shù)據(jù)庫(kù)配置 連接你的數(shù)據(jù)庫(kù) 數(shù)據(jù)庫(kù)快速入門(mén)例子代碼 字段數(shù)據(jù) 數(shù)據(jù)庫(kù)維護(hù)類(lèi) 查詢輔助函數(shù) 數(shù)據(jù)庫(kù)類(lèi) 查詢 生成查詢記錄集 表數(shù)據(jù) 事務(wù) 數(shù)據(jù)庫(kù)工具類(lèi) JavaScript類(lèi) 輔助函數(shù)參考 數(shù)組輔助函數(shù) CAPTCHA 輔助函數(shù) Cookie Helper 日期輔助函數(shù) 目錄輔助函數(shù) 下載輔助函數(shù) Email 輔助函數(shù) 文件輔助函數(shù) 表單輔助函數(shù) HTML輔助函數(shù) Inflector 輔助函數(shù) 語(yǔ)言輔助函數(shù) 數(shù)字輔助函數(shù) 路徑輔助函數(shù) 安全輔助函數(shù) 表情輔助函數(shù) 字符串輔助函數(shù) 文本輔助函數(shù) 排版輔助函數(shù) URL 輔助函數(shù) XML 輔助函數(shù)
文字

CodeIgniter 用戶指南 版本 2.1.0

編輯文檔、查看近期更改請(qǐng) 登錄 或 注冊(cè)  找回密碼
查看原文

URI 路由

一般來(lái)說(shuō),URI字符串有著和它唯一對(duì)應(yīng)的控制器(controller)類(lèi)/方法。URI的各個(gè)部分是如下模式(pattern):

example.com/class/function/id/

然而在一些例子中,你也許想重定向這種關(guān)系來(lái)調(diào)用一個(gè)不同的類(lèi)/方法(class/function),而不是與URL一一對(duì)應(yīng)(的調(diào)用).

例如,你可能想使你的URL采用這種原型(prototype):

example.com/product/1/
example.com/product/2/
example.com/product/3/
example.com/product/4/

一般情況下,URL的第二個(gè)部分表示方法名,不過(guò)在上面的例子中,它表示一個(gè)產(chǎn)品的ID。CodeIgniter可以實(shí)現(xiàn)這個(gè)功能,讓用戶可以重新定向(remap)URI處理程序.

設(shè)定你自己的路由規(guī)則

路由規(guī)則定義在application/config/routes.php 文件中. 在此文件中,你可以看到一個(gè)名為 $route的數(shù)組,它可以讓你定義你自己的路由規(guī)則。 定義可以用兩種方式: 通配符(wildcards) 或者 正則表達(dá)式(Regular Expressions)

通配符

一個(gè)典型的通配符路由看起來(lái)是這樣的:

$route['product/(:num)'] = "catalog/product_lookup";

在一個(gè)路由中,數(shù)組的鍵包含著被匹配的URI,而數(shù)組的值包含著路由將被重定向的目的地.在上面的例子中,如果單詞“product”出現(xiàn)在URL的第一個(gè)部分中,而且數(shù)字(:num)出現(xiàn)在URI的第二個(gè)部分中,"catalog"類(lèi)和"product_lookup"方法將被替代使用(即將被重定向).

你可以匹配文字的值或者使用以下兩種通配符類(lèi)型:

:num 將匹配一個(gè)只包含有數(shù)字的segment(段).
:any 將匹配一個(gè)包含任何字符的segment.

注意: 路由將會(huì)按照定義的順序來(lái)運(yùn)行.高層的路由總是優(yōu)先于低層的路由.

例子

下面是一些簡(jiǎn)單的例子:

$route['journals'] = "blogs";

如果URL的第一個(gè)分段(類(lèi)名)是關(guān)鍵字"journals",那么將會(huì)重定向到"blogs"類(lèi)中處理.

$route['blog/joe'] = "blogs/users/34";

如果URL的前兩個(gè)分段是"blog"和"joe",那么將會(huì)重定向到"blogs"類(lèi)的"users"方法中處理.并且將ID"34"設(shè)為參數(shù).

$route['product/(:any)'] = "catalog/product_lookup";

當(dāng)"product"作為URL中第一個(gè)分段時(shí), 無(wú)論第二分段是什么都將被重定向到"catalog"類(lèi)的"product_lookup"方法.

$route['product/(:num)'] = "catalog/product_lookup_by_id/$1";

當(dāng)“product”作為 URL 中第一個(gè)分段時(shí),如果第二分段是數(shù)字,則將被重定向到“catalog”類(lèi),并傳遞所匹配的內(nèi)容到“product_lookup_by_id”方法中。

重要提示: 不要在前面或后面加"/".

正則表達(dá)式

如果你喜歡可以使用正則表達(dá)式來(lái)自定義你的路由規(guī)則. 任何有效的正則表達(dá)式都是被允許的, 甚至逆向引用.

注意:? 如果你使用逆向引用請(qǐng)將雙反斜線語(yǔ)法替換為美元符語(yǔ)法(1 替換為 $1).

一個(gè)典型的正則表達(dá)式看起來(lái)像下面的樣子:

$route['products/([a-z]+)/(\d+)'] = "$1/id_$2";

上例中, 類(lèi)似于 products/shirts/123 的URI 將換成調(diào)用 shirts 控制器類(lèi)的 id_123 方法.

你也可以混合使用通配符與正則表達(dá)式.

系統(tǒng)保留的路由

系統(tǒng)會(huì)保留兩個(gè)路由:

第一個(gè)為系統(tǒng)默認(rèn)的路由:

$route['default_controller'] = 'welcome';

這個(gè)路由表明了當(dāng)URI中不包含要訪問(wèn)的類(lèi)和控制器信息的(即只訪問(wèn)根目錄的情況,如http://localhost/ci)將要加載哪個(gè)控制器。上例中,系統(tǒng)將加載 "welcome" 這個(gè)類(lèi)(控制器)。你應(yīng)該保證設(shè)置一個(gè)默認(rèn)路由,不然你的首頁(yè)將會(huì)顯示 404 錯(cuò)誤。

第二個(gè)為404頁(yè)面的路由:

$route['404_override'] = '';

這個(gè)路由標(biāo)識(shí)了如果請(qǐng)求的控制器無(wú)法訪問(wèn)的時(shí)候?qū)⒓虞d哪個(gè)控制器。它相當(dāng)于覆蓋了默認(rèn)的404錯(cuò)誤頁(yè)面(即提供了自己定義404頁(yè)面的功能)。但它不會(huì)影響show_404()這個(gè)方法,這個(gè)方法依然會(huì)加載默認(rèn)的位于application/errors/error_404.phperror_404.php頁(yè)面。

重要: 保留的路由應(yīng)該在所有通配符或正則表達(dá)式路由之前定義。

?

翻譯貢獻(xiàn)者: architectcom, caesarjuly, caincheung, chouqiuqiu, Hex, IT不倒翁, lijun14992560, nardo, shnwqshnwq, test_88
最后修改: 2012-02-05 23:36:59
上一篇: 下一篇: