久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      thinkphp四種url模式介紹

      thinkphp四種url模式介紹

      路由:訪問項目中具體某個方法的URL地址,簡單理解就是URL地址

      在ThinkPHP里系統(tǒng)提供了4種路由形式(之前的路由形式:index.php?p=平臺&c=控制器&a=方法;pca)

      總結:pca為平臺、控制器、方法;thinkPHP里mca為分組、控制器、方法

      ①普通形式路由;

      ②Pathinfo形式路由;

      ③Rewrite形式路由;

      ④兼容形式路由

      下面詳解

      (1)普通形式路由

      也叫get形式路由,所有信息通過get傳遞

      路由形式:http://網(wǎng)址/入口文件(index.php)?m=分組&c=控制器名&a=方法&參數(shù)名=參數(shù)值

      例如:訪問Home分組下的User控制器中的test方法,并傳遞一個參數(shù)id=1

      http://www.1336.com/index.php?m=Home&c=User&a=test&id=1

      可以通過$_GET['id']來驗證,輸出1。所以驗證成功

      缺點:url傳遞的東西都會顯示出來,既不安全也不好看。所以用的不多

      (2)pathinfo()形式路由(thinkPHP的默認路由)

      路由形式:http://網(wǎng)址/入口文件(index.php)/分組名/控制器名/方法/參數(shù)名1/參數(shù)值1/參數(shù)名n/參數(shù)值n

      http://www.1336.com/index.php/Home/User/test/id/100

      方法里有$_GET['id'],輸出100。所以驗證成功

      (3)rewrite路由形式(重寫)

      路由形式:http://網(wǎng)址/分組名/控制器名/方法名/參數(shù)1/參數(shù)值1/參數(shù)n/參數(shù)值n

      與thinkPHP默認的路由形式Pathinfo()形式路由的不同之處就是,缺少了入口文件

      注意:該路由形式不能直接使用,需要配置完成才能使用

      配置步驟:

      1. 配置Apache下的httpd.conf,開啟擴展rewrite重寫模塊;

      2. 修改虛擬主機配置文件,文件位于Apache目錄下,conf/extra/httpd-vhosts,加上允許重寫配置。表示允許重寫當前站點

      簡單說就是給需要開啟重寫的站點,目錄配置處添加Allowoverride:all

      #針對目錄的詳細配置     <Directory>         #允許所有訪問         allow from all         #允許重寫         AllowOverride all         #表示允許站點顯示文件目錄結構         Options +indexes     </Directory>

      3. 重啟Apache

      4. 將ThinkPHP壓縮包中的.htaccess文件復制到入口文件的同級目錄

      配置完成后輸入網(wǎng)址驗證,這里還用上面pathinfo的網(wǎng)址,去掉入口文件后刷新,發(fā)現(xiàn)輸出100。OK~配置完成

      拓展:

      PHP的運行模式(5大運行模式):

      CGI模式(通用網(wǎng)關接口);

      FastCGI模式(常駐型CGI);

      CLI(命令行運行);

      Web模塊模式(Apache等Web服務器運行的模式);

      ISAPI模式(5.3版本后不再支持)

      現(xiàn)在用的環(huán)境集成包的模式為Web模塊模式,工作開發(fā)中常用FastCGI常駐型模式。

      綜上,rewrite模式需要Apache支持,一般不推薦使用。除了Apache外服務器軟件還有nginx,lightd等。

      (4)兼容路由形式

      兼容路由形式結合了普通路由形式、pathinfo路由形式、rewrite路由形式特征

      路由形式:http://網(wǎng)址/入口文件?s=/分組名/控制器名/方法名/參數(shù)1/參數(shù)值1

      注意:兼容路由形式只有1個參數(shù):參數(shù)名s,后面可以看做s參數(shù)值

      例如:http://www.1336.com/index.php?s=/Home/User/test/id/100,驗證輸出100,說明訪問成功

      (5)拓展:ThinkPHP中路由形式的配置

      配置文件ThinkPHP/Conf/convention.php,ThinkPHP慣例配置文件

      /* URL設置 */ 'URL_CASE_INSENSITIVE'  =>  true,   // 默認false 表示URL區(qū)分大小寫 true則表示不區(qū)分大小寫 'URL_MODEL'             =>  1,

      URL訪問模式,可選參數(shù)0、1、2、3,代表以下四種模式:

      0 (普通模式);

      1 (Pathinfo 模式);

      2 (REWRITE 模式);

      3 (兼容模式) 默認為Pathinfo 模式

      注意:路由形式的配置值,不影響地址欄中輸入其他形式路由訪問。該配置項的值,影響的是ThinkPHP系統(tǒng)封裝的URL組裝函數(shù)(U函數(shù))生成url地址的形式

      ThinkPHP支持四種URL模式,可以通過設置URL_MODEL參數(shù)來定義,包括普通模式、PATHINFO、REWRITE和兼容模式。

      1、普通模式:'URL_MODEL'=>0,

      http://serverName/appName/?m=module&a=action&id=1

      2、PATHINFO模式:'URL_MODEL'=>1,(系統(tǒng)默認的模式)

      默認使用URL_PATHINFO模式,PATHINFO模式還包括普通模式和智能模式兩種:

      PATHINFO普通模式:'PATH_MODEL'=>1,

      該模式URL參數(shù)沒有順序,例如

      http://serverName/appName/m/module/a/action/id/1 http://serverName/appName/a/action/id/1/m/module

      PATHINFO智能模式:'PATH_MODEL'=>2, (系統(tǒng)默認的模式)

      該模式自動識別模塊和操作,例如

      http://serverName/appName/module/action/id/1/ http://serverName/appName/module,action,id,1/

      智能模式下,第一個參數(shù)會被解析成模塊名稱(或者路由名稱,下面會有描述),第二個參數(shù)會被解析成操作(在第一個參數(shù)不是路由名稱的前提下),后面的參數(shù)是顯式傳遞的,而且必須成對出現(xiàn),例如:

      http://serverName/appName/module/action/year/2000/month/01/day/01/

      其中參數(shù)之間的分割符由PATH_DEPR參數(shù)設置,默認為"/",若設置PATH_DEPR為"^",則:

      http://serverName/appName/module^action^id^1/

      注意不要使用"@" 和"&"符號進行分割,該符號有特殊用途,可能會導致其他的沖突。

      如果想要簡化URL的形式可以通過路由功能(后面會有描述),在PATHINFO模式下,會把相關參數(shù)轉換成GET變量,以及并入REQUEST變量,因此不妨礙應用里面的以上變量獲取。

      3、REWRITE模式:'URL_MODEL'=>2,

      該URL模式和PATHINFO模式功能一樣,除了可以不需要在URL里面寫入口文件,和可以定義.htaccess 文件外。

      例如,我們可以增加如下的.htaccess內容把所有操作都指向index.php文件。

      RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

      4、兼容模式:'URL_MODEL'=>3

      兼容模式是普通模式和PATHINFO模式的結合,并且可以讓應用在需要的時候直接切換到PATHINFO模式而不需要更改模板和程序,基本上可以支持任何的運行環(huán)境。

      只需要傳入PATHINFO 兼容模式獲取變量VAR_PATHINFO,默認值為s,例如

      http://serverName/appName/?s=/module/action/id/1/

      會執(zhí)行和上面的URL等效的操作,并且也可以支持參數(shù)分割符號的定義,例如在PATH_DEPR設置為"~"的情況下,下面的URL有效:

      http://serverName/appName/?s=module~action~id~1

      兼容模式的情況下面模板文件不用做任何更改,保持和PATHINFO模式的寫法一樣,只需要在切換URL模式的時候清空下模板緩存目錄。

      推薦教程:《TP5》

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號