1. 程式人生 > >thinkphp3.2框架的四種路由形式

thinkphp3.2框架的四種路由形式

①  基本get形式

http://網址/index.php?m=分組&c=控制器&a=操作方法

該方式是最底層的get形式、傳統的引數傳遞方式,不時尚、不安全。

②  pathinfo路徑形式[預設方式]
http://網址/index.php/分組/控制器/操作方法

http://網址/index.php/Home/Index/advert

③  rewrite重寫形式(偽靜態技術)省略index.php入口檔案
http://網址/分組/控制器/操作方法

http://網址/Home/Index/index

配置web伺服器的重寫規則

如果是Apache則需要在入口檔案的同級新增.htaccess檔案,內容如下:

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


④  相容形式
http://網址/index.php?s=/分組/控制器/操作方法

http://網址/index.php?s=/Home/Index/advert

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

例如,我們在Apache下面的話,.htaccess檔案改成如下內容:

<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*)$ index.php?s=/$1 [QSA,PT,L]</IfModule>
就可以和REWRITE模式一樣訪問的URL地址

URL模式    URL_MODEL設定   
      普通模式            0
  PATHINFO模式              1
  REWRITE模式            2
      相容模式            3

在專案中這裡配置的是重寫模式(省略index.php入口檔案):