thinkphp3.2.3中設定路由,優化url
需求: 訪問這個目錄的時候,http://xx.com/p-412313要重定向到(暫且這麼叫)http://xx.com/Home/Blog/index/id/412313
就是看著好看
我的應用目錄是Application。模組是Home
第一步:知道哪個檔案怎麼處理的路由
路由處理在think/Route.class.php
// 動態路由處理 $routes = C('URL_ROUTE_RULES'); // var_dump($routes); if(!empty($routes)) { // dump($routes); //array(1) { // ["/^p-(\d+)$/"] => string(16) "Blog/index?id=:1" //} // echo "rount.class.php\n"; foreach ($routes as $rule=>$route){ if(is_numeric($rule)){ // 支援 array('rule','adddress',...) 定義路由 $rule = array_shift($route); } ...程式碼多,僅標識位置
第二步:在專案模組的配置檔案下,設定配置檔案 如下(因為tp是逐級載入配置檔案,慣例配置->應用配置->模式配
置->除錯配置->狀態配置->模組配置->擴充套件配置->動態配置,這裡屬於模組配置
<?php return array( 'MODULE_ALLOW_LIST' => array('Home','Admin','Common'), 'DEFAULT_MODULE' => 'Home', // 預設模組 'DEFAULT_CONTROLLER' => 'Index', // 預設控制器名稱 'DEFAULT_ACTION' => 'index', // 預設操作名稱 // 路由規則 'URL_ROUTER_ON' => TRUE, 'URL_ROUTE_RULES' => array( '/^c-(\d+)$/' => 'Index/content?id=:1' ), 'URL_ROUTER_ON '=>true, 'URL_MODEL' => '1', 'URL_ROUTE_RULES'=>array( '/^p-(\d+)$/' => 'Home/Blog/index?id=:1',//意思是訪問x.com/p-34 會訪問的是x.com/Blog/index/id/34 ), );
第三部:
如果你沒有設定預設的模組 ,會出現找不到p-34這個模組的錯誤。
那麼需要在index.php中設定
define('BIND_MODULE','Home');
這樣就可以了。
說明:如果沒有第三步。預設開啟是正常的就是這樣。
但是
所以我們操作第三步,就可以實現如下效果了:
相關推薦
thinkphp3.2.3中設定路由,優化url
需求: 訪問這個目錄的時候,http://xx.com/p-412313要重定向到(暫且這麼叫)http://xx.com/Home/Blog/index/id/412313 就是看著好看 我的應用目錄是Application。模組是Home 第一步:知道哪個檔案怎麼處理
ThinkPHP3.2.3中URL帶引數跳轉
ThinkPHP框架針對前端頁面跳轉,給出了一種路由方法,通過{:U('模組/控制器/方法')}來跳轉到對應的頁面中,當這種方法在帶有引數並在JS中使用的時候這裡給出兩種方式,比如說,當控制器為inde
使用ThinkPhp3.2.3 的S函式,鍵不能是小駝峰形式,會返回false
public function getAccessToken() { $res = S('yZAccessToken'); if ($res) {//這邊都是false echo 1;//一直都是不會
thinkphp3.2.3中Class '?' not found的原因以及解決方法
【來源地址】:自己的個人php論壇 php自學者論壇 【原因】:違反thinkphp的命名規範 例如你的模組名為Home --Home --Controller TestController.class.php (*如
thinkphp3.2 home為預設模組,在url裡面隱藏掉home
今天公司新來的小夥伴問我怎麼把thinkphp的home 隱藏掉,就直接貼出來了,剛入行的小夥伴可以看一下 解決方法: 在Common/Conf/config.php和Home/Conf/confi
ThinkPHP3.2.3框架模板檔案中匯入css,js檔案相關問題
解決辦法: (1) 可以用原來的方式引進js,css檔案,但是其預設位置是在與專案app資料夾同級目錄的Public資料夾(需要自己建立)下面 (2)使用import標籤,如: <import type='js' file="Js.Util.Array" basepa
ThinkPHP3.2.3---ajaxreturn的應用:一個在搜尋框中輸入,實時動態顯示模糊搜尋結果
實現目標 在一個文字框中輸入關鍵詞,利用ajax和ajaxreturn實時顯示模糊搜尋的json資料。當然獲得了json資料,後期處理資料就隨你怎麼弄了。 最終實現效果 無任何動作
Thinkphp3.2.3框架下封裝公共的函數,例如封裝CURL函數來獲取接口數據
快捷 我們 很好 cti lda esp 多次 pic 擴展 當我們需要在控制層調用相同的封裝函數時,寫多次相同的函數,顯得代碼十分的拉雜,不精簡; TP框架有一個很好的機制,可以再Common定義一個function.php函數,當我們在控制層調用的時候直接調用就可以
thinkphp3.2.3 定時任務重新加載, 無法加載新的定時任務的問題
info 2.3 圖片 gin 問題 源碼 3.2 png thinkphp thinkphp3.2.3 的定時任務有個坑,一旦你改名定時任何或者路徑,新的定時任務將無法加載,無論你重啟php還是重啟nginx,甚至重啟服務器,都不行。 原因是你要刪掉一個類似lock文
2018年10月8日django檢視版本命令,python2&3中print區別,iterable報錯,SSH,pycharm/ubuntu顏色設定
檢視Django版本的命令: 1. 在終端中輸入: python -m django –-version 2. 進入python互動環境: import django &nb
Thinkphp3.2.3 多圖上傳,同類型只能上傳一張問題
Thinkphp3.2.3 多圖上傳,同類型只能上傳一張問題, 例如一次性上傳多張 .jpg 檔案,只能上傳最後一張, 問題在於,同名,只儲存一張,找了很多方法,問題就在於 saveName 上 在 App->Common->Common->function.php 下
ThinkPHP3.2.3:空模組、空控制器、空操作,跳轉到錯誤404頁面
【演示準備】 首先下載了一個ThinkPHP3.2.3,目錄結構如下:(只有Home模組、Index控制器、index操作方法) 然後找了一個簡易的錯誤404頁面404.html放到了根目錄: 【空模組】 訪問一個不存在的模組Admin,錯誤提
CF D - Beautiful Graph(dfs 染色問題吧)給你一個圖,每個節點可以賦值1,2,3三種數字,相鄰的節點的和必須是奇數,問有多少中方法。
題意: 給你一個圖,每個節點可以賦值1,2,3三種數字,相鄰的節點的和必須是奇數,問有多少中方法。 分析: 很容易就可以發現如果這個圖中是有奇數的環的話,那這是肯定不行的 ,否則這個環的貢獻是為2^sumji+2^sumou , 總貢獻為每個的環的貢獻相乘,一個點也為環; #in
關於Thinkphp3.2.3的路由使用
一、關於路由 根據Thinkphp的開發手冊,要使用路由功能,前提是你的URL支援PATH_INFO(或者相容URL模式也可以,採用普通URL模式的情況下不支援路由功能),那麼,什麼是pathinfo模式? pathinfo 模式是index.php/ind
thinkphp3.2.3之apache轉nginx偽靜態設定
本地開發的專案,使用的是apache伺服器,完成專案之後,之前搭建到的伺服器都是Windows伺服器上,從而上線,這次需要在寶塔上nginx伺服器上搭建,所以需要將apache的偽靜態更改為nginx:1.在網上搜索到的基本上都不是自己理想狀態下的需求,搜尋到的方法基本上與比
ThinkPHP3.2.3之優化跳轉頁面
最近總是用ThinkPHP3.2.3版本做專案,做著做著便感覺原有的跳轉頁面是真的醜,所以到百度上瞅瞅,瞅到了一個挺美觀的頁面,借鑑一下:借鑑地址:<?php if(C('LAYOUT_ON')) { echo '{__NOLAYOUT_
ThinkPHP3.2.3將session放置到指定資料夾中
核心程式碼是這行 //設定session 儲存資料夾等資訊 session(array('name'=>'session_www','expire'=>3600,'path'=>'/data/www/xxoo.com/Data/Runtime/Sessio
Thinkphp3.2.3設定session週期無效的問題
thinkphp的session設定週期是無效的,直接的影響就是無法保留使用者的登陸狀態,用thinkphp開發的專案,關閉瀏覽器後用戶就退出了,即便設定了session週期也沒作用。 首先需要在 /Thinkphp/Common/funtion.php 公告函式中找到如
記在vue-cli 2.0中使用typescript,從webpack ^3.0到^4.0的自殺式升級。
最近抽了點時間弄了一下vue的服務端渲染(SSR)以及serviceWork和application的離線快取技術(PWA),於是就拿了以前的老專案去重寫了,但是老的有點落伍了是基於vue-cli 2.0的,完全就是在webpack的基礎上加
3步設定squid,公網訪問區域網中的Docker
問題: Linux宿主機的IP:10.10.1.12 (可以訪問公網) Docker的IP:172.17.1.2 (執行在Linux宿主機上10.10.1.12 ) 其他可以訪問公網的機器(如Wind