本文執行個體分析了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]