Thinkphp url路由配置
配置url建議使用配置的php開發環境,整合的沒能成功
ThinkPHP 架構支援url路由。所謂url路由 含義跟網路中的路由相似。使用者請求的url資訊進行檢查來確定到底調用哪個模組和操作。
通過配置url路由可以使網站名稱更加短,也更容易記。
主要是有兩種方法
1 隱藏index.php
2 將模組和操作用簡單數字或者字母進行代替
首先隱藏index.php
隱藏index.php
1 找到apache設定檔將
LoadModule rewrite_module modules/mod_rewrite.so前面的#號去掉
2 尋找apache的設定檔中AllowOverride None這句話,將None改為 All 我的共有3處地方需要修改
3
RewriteEngine onRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_FILENAME} !-fRewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
這句話儲存為.htaccess檔案放到入口檔案的同級目錄下
圖示
4 重啟Apache即可
用字元代替分組 模組操作
1 設定在項目設定檔中開啟url路由功能
將下面這句添加在項目設定檔中
'URL_ROUTER_ON'=>true, //開啟url路由
2 就是對 分組 模組 操作的配置
先把後台代碼貼上
//進入發布新聞頁面 public function release(){ dump("mode值:".$_GET['mode']); dump("fun值".$_GET['fun']); dump("idcard值".$_GET['idcard']); dump("name值".$_GET['name']); dump("id值".$_GET['id']); }項目設定檔中幾個不同url規則
第一個規則
'URL_ROUTE_RULES'=>array( 'news/:mode/:fun'=>'Admin/News/release?idcard=334&name=buyingfei&id=3', //:mode :fun 代表變數 可以傳遞任何職給後台後台可以通過get接收),
訪問 和結果輸出
片
可以看出規則 訪問 結果之間關係
第二條規則
'URL_ROUTE_RULES'=>array( '34'=>array('Admin/News/release'), // http://localhost/test/index.php/34), 結果和存取方法片
第三條規則:
'URL_ROUTE_RULES'=>array( "news/:id"=>"Admin/News/release",),
存取方法和結果
掌握上面三條規則可以解決大多數項目中遇到問題