天天看點

thinkphp四種url通路方式詳解

本文執行個體分析了thinkphp的四種url通路方式。分享給大家供大家參考。具體分析如下:

一、什麼是MVC

  thinkphp的MVC模式非常靈活,即使隻有三個中和一個也可以運作。

M -Model 編寫model類 對資料進行操作

V -View  編寫html檔案,頁面呈現

C -Controller 編寫類檔案(UserAction.class.php)

二、ThinkPHP的MVC特點    (簡單了解)

三、ThinkPHP的MVC對應的目錄  (簡單了解)

M 項目目錄/應用目錄/Lib/Model

V 項目目錄/應用目錄/Tpl

C 項目目錄/應用目錄/Lib/Action

四、url通路C      (簡單了解)

五、url的4種通路方式    (這是重點!!)

1.PATHINFO 模式 --重點 在後面使用非常多,如果想傳多個參數可以使用鍵1/值1/鍵2/值2方法

複制代碼代碼如下:

http://域名/項目名/入口檔案/子產品名/方法名/鍵1/值1/鍵2/值2

2.普通模式也稱為重寫模式

http://域名/項目名/入口檔案?m=子產品名&a=方法名&鍵1=值1&鍵2=值2

3.REWRITE重寫模式,去掉入口檔案便于SEO優化

http://域名/項目名/子產品名/方法名/鍵1/值1/鍵2/值2

4.相容模式

http://域名/項目名/入口檔案?s=子產品名/方法名/鍵1/值1/鍵2/值2

如何修改PATHINFO位址中的/改成-在Home/Conf/config.php中

'URL_PATHINFO_DEPR'=>'-',//修改RUL的分隔符,把位址欄的參數部分/換成:http://域名/項目名/入口檔案/子產品名-方法名-鍵1-值1-鍵2-值2

在index.php中開啟調用模式,為了在後産模式中不讓檔案緩存影響開發

define('APP_DEBUG',ture);//如果設定為ture不緩存檔案,false則緩存檔案

REWRITE模式開啟方法

在httpd.conf中查找rewrite_module modules/mod_rewrite.sl 把#去掉重新開機服務,在入口檔案下建立.htaccess.php,重寫檔案是去掉index.php的意思:

RewriteEngine on  

RewriteCond %{REQUEST_FILENAME} !-d  

RewriteCond %{REQUEST_FILENAME} !-f  

RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]