程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> ThinkPHP中U方法與url的四種訪問模式

ThinkPHP中U方法與url的四種訪問模式

編輯:關於PHP編程

    ThinkPHP中U方法的用處主要是完成對url地址的組裝,在模板中使用U方法而不是固定寫死URL地址的好處在於,一旦你的環境變化或者參數設置改變,你不需要更改模板中的任何代碼。在模板中的調用格式需要采用 {:U('地址', '參數'…)} 的方式,一般的形式裡面是控制器中的方法名,例如{:U('loginPage')}。完整格式為:

U('地址','參數','偽靜態','是否跳轉','顯示域名')。U方法的第二個參數支持傳入參數,支持數組和字符串兩種定義方式,如果只是字符串方式的參數可以在第一個參數中定義,下面幾種方式都是等效的:

U('Blog/cate',('cate_id'=>1,'status'=>1'Blog/cate','cate_id=1&status=1''Blog/cate?cate_id=1&status=1')

但是不允許使用下面的定義方式來傳參數:

U('Blog/cate/cate_id/1/status/1')

根據項目的不同URL設置,同樣的U方法調用可以智能地對應產生不同的URL地址效果,可以在配置文件convention.php中看到:

'URL_MODEL'             => 1,       

1.普通模式:也就是傳統的GET傳參方式來指定當前訪問的模塊和操作,例如:(m參數表示模塊,a操作表示操作)

http:

2.PATHINFO模式:是系統的默認URL模式,提供了最好的SEO支持,系統內部已經做了環境的兼容處理,所以能夠支持大多數的主機環境。對應上面的URL模式,PATHINFO模式下面的URL訪問地址是:

http:

3.REWRITE模式:是在PATHINFO模式的基礎上添加了重寫規則的支持,可以去掉URL地址裡面的入口文件index.php,但是需要額外配置WEB服務器的重寫規則。
如果是Apache則需要在入口文件的同級添加.htaccess文件,內容如下:

<IfModule mod_rewrite.c>%{REQUEST_FILENAME} !-%{REQUEST_FILENAME} !-^(.*)$ index.php/$1 [QSA,PT,</IfModule>

接下來,就可以用下面的URL地址訪問了:

http:

可以看到index.php被隱藏了

4.兼容模式:是用於不支持PATHINFO的特殊環境,地址為:

http:

兼容模式配合Web服務器重寫規則的定義,可以達到和REWRITE模式一樣的URL效果。

 

 

 

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved