標籤:
一、標準URL格式http://serverName/index.php/模組/控制器/操作
二、URL大小寫在/ThinkPHP/Conf/convention.php檔案裡有URL大小寫配置選項,預設false表示URL區分大小寫,true則表示不區分大小寫。
手冊說,開啟偵錯模式的情況下,這個參數是false,
但我的項目中該參數依然是true。
三、URL模式ThinkPHP支援的URL模式有四種:普通模式、PATHINFO、REWRITE和相容模式,可以通過設定URL_MODEL參數來改變URL模式。如果整個應用下面的模組都是採用統一的URL模式,就可以在應用設定檔中設定URL模式;如果不同的模組需要設定不同的URL模式,則可以在模組設定檔中設定。 例如:在Home/Controller/IndexController.class.php檔案裡定義一個帶參數的方法:則不同模式的URL寫法如下:
URL模式 |
URL_MODEL |
寫法 |
普通模式(GET傳參) |
0 |
可以在/ThinkPHP/Conf/convention.php檔案裡設定變數, 預設的變數設定如下:URL寫為:http://localhost/?m=home&c=index&a=getName&name=liulu, m參數表示模組,c參數表示控制器,a參數表示操作,後面的表示其他GET參數。 如果將變數改為:則URL寫為:http://localhost/ThinkPHP-3.2.3/?module=home&controller=index&action=getName&name=liulu 如果仍用http://localhost/ThinkPHP-3.2.3/?m=home&c=index&a=getName,依然可以訪問。。。 |
PATHINFO模式(系統預設) |
1 |
http://localhost/ ThinkPHP-3.2.3/ index.php/home/index/getName/name/liulu/ PATHINFO模式依然可以採用普通URL模式的參數方式:http://localhost/ ThinkPHP-3.2.3/ index.php/home/index/getName?name=liulu 可以更改/ThinkPHP/Conf/convention.php檔案裡的URL_PATHINFO_DEPR配置: // PATHINFO模式下,各參數之間的分割符號‘URL_PATHINFO_DEPR‘ => ‘/‘,
如果“/”改為“-”,URL寫為:localhost/ThinkPHP-3.2.3/index.php/home-index-getName-name-liulu或 localhost/ThinkPHP-3.2.3/index.php/home-index-getName?name=liulu |
REWRITE模式 |
2 |
在PATHINFO模式的基礎上添加了重寫規則的支援,可以去掉URL地址裡面的入口檔案index.php,但是需要額外配置WEB伺服器的重寫規則。 如果是Apache則需要添加與入口檔案同級的.htaccess檔案URL寫為: http://localhost/ ThinkPHP-3.2.3 /home/index/getName?name=liulu |
相容模式 |
3 |
用於不支援PATHINFO的特殊環境。 在/ThinkPHP/Conf/convention.php檔案裡,相容模式變數的名稱定義預設為s:// 相容模式PATHINFO擷取變數// 例如 ?s=/module/action/id/1 後面的參數取決於URL_PATHINFO_DEPR‘VAR_PATHINFO‘ => ‘s‘,
URL寫為: http://localhost/ ThinkPHP-3.2.3 /?s=/home/index/getName/name/liulu 配合Web伺服器重寫規則的定義,可以達到和REWRITE模式一樣的URL效果。URL寫為: http://localhost/ ThinkPHP-3.2.3 /home/index/getName/name/liulu |
ThinkPHP 3.2.3(三)架構之URL模式