thinkphp四種url訪問方式詳解
① thinkphp3.2 怎麼修改url的模式
在配置文件里修改啊 config.php 文件
'URL_MODEL' => 1, // URL訪問模式,可選參數0、1、2、3,代表以下四種模式:
② thinkphp 取得url參數
TP取值用$_REQUEST可以取POST或者get過來的值。建議先看手冊
③ thinkphp怎麼隱藏參數變數
'URL_CASE_INSENSITIVE' => true, // 默認false 表示URL區分大小寫 true則表示不區分大小寫
'URL_MODEL' => 2, // URL訪問模式,可選參數0、1、2、3,代表以下四種模式:
// 0 (普通模式); 1 (PATHINFO 模式); 2 (REWRITE 模式); 3 (兼容模式) 默認為PATHINFO 模式
Nginx
推薦:
location / {
try_files $uri $uri/ /index.php?s=$uri&$args;
}
意思是:如果第一個$uri不存在,就訪問$uri/;如果$uri/還不存在,訪問/index.php?s=$uri&$args。可以後面跟很多個。
try_files
語法: try_files file1 [file2 ... filen] fallback
默認值: 無
作用域: location
再例如:
try_files $uri = 404
什麼意思呢?uri不能成功訪問,那好,那就給你個404吧。
但是在網上找到的文章大部分是這樣配置的:
location / {
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php?/$1 last;
break;
}
}
實際上不可行。
Apache
在根目錄新建.htaccess文件:
<IfMole mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfMole>
IIS環境
如果你的伺服器環境支持ISAPI_Rewrite的話,可以配置httpd.ini文件,添加下面的內容:
RewriteRule (.*)$ /index\.php\?s=$1 [I]你看看這樣呢,我也是剛問我在後盾網學習的朋友,希望能幫到你,(›´ω`‹ )加油
④ 如何開啟伺服器 thinkphp pathinfo的訪問方式
這篇文章主要介紹了ThinkPHP中pathinfo的訪問模式、路徑訪問模式及URL重寫總結,是ThinkPHP路由訪問的基礎知識,在ThinkPHP開發中非常重要,需要的朋友可以參考下
本文針對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程序設計有所幫助。