本文針對ThinkPHP中pathinfo的兩種模式、四種路徑訪問模式和URL重寫相關知識進行了總結歸納,分享給大家便於查詢和借鑒。具體歸納如下:
1、pathinfo
訪問模塊IndexAction.class.php下邊的test方法
http://localhost/index.php?m=Index&a=test 等同於 http://localhost/index.php/Index/test
2、四種路徑訪問模式
在config目錄下邊來做修改 URL_MODEL的值,分別表述如下:
值為0 叫做普通模式。如:http://localhost/index.php?m=模塊&a=方法
值為1 叫做pathinfo模式。如:http://localhost/index.php/模塊/方法
值為2 叫做rewrite重寫(偽靜態) 可以自己寫相關的rewrite規則,也可以使用系統為我們提供的rewrite規則隱藏掉index.php,生成:http://localhost/模塊/方法
值為3 叫做兼容模式。當服務器上面不支持pathinfo模式的時候,但是你又在之前的路徑訪問格式上面,全部用的是pathinfo格式。那麼它會提示你路徑格式不正確。那麼,你就可以用標號為3的兼容模式來處理。他的路徑訪問類似於http://localhost/index.php?s=模塊/方法
3、URL重寫步驟:
(1)、D:\wamp\wamp\Apache2\conf\httpd.conf開啟apache服務器中的URL_REWRITE模塊
(2)、AllowOverride None 將 None 改為 All
(3)、確保config.php配置文件中 URL_MODEL 設置為 2
(4)、把 .htaccess 文件放到入口文件的同級目錄下
采用URL重寫利於seo,不過會加大服務器的性能消耗。
希望本文所述對大家ThinkPHP程序設計有所幫助。
是可以用$_GET獲取的
舉個例子
index.php/action/function/id/2
$_GET[cation]就是function
$_GET[id]就是2
懂了嗎?只是形式換了,值一樣是可以取的
localhost/think/index.php/Index/index這一個是偽靜態URL地址,為了使頁面更好的被搜索引擎抓取。搜索引擎更偏好於靜態頁面,動態頁面又一個特點就是有個?號,所以這樣寫就把它去掉了。
localhost/...=index這一個是最原始的訪問方法。典型的動態網頁URL地址。對搜索引擎不友好。
localhost/think/index.php/Index/index?id=1這個是偽靜態的兼容性寫法。有的服務器不支持偽靜態,所以這樣寫。
還有一種方式你沒提出來:即localhost/think/index/Index/index。他是apache的rewrite功能,需要開啟rewrite模塊。但是有的服務器並沒有開啟,並且開啟的話會增加服務器的資源消耗。
總結:你在偽靜態後面可以添加.html或者.htm等靜態頁面的擴展名,把偽靜態做的更加完美,TP框架有這樣的功能,你研究下。
注:rewrite其實也是偽靜態的一種。