網站url路徑優化方法完全講解 (url優化、基於tp5、API介面開發)
url優化可是網站開發的必備高階技能,先看本例項優化前後效果比較:
(同為呼叫前臺模組下的index控制器下的index方法)
優化前:www.tp5.com/tp5/public/index.php/index/index/index。
優化後:www.tp5.com/t。
可以優化這麼多?對,就是能優化成這樣!是不是感覺最後效果很棒哦,來跟我一起做吧,你也網站也可以這樣哦!
優化步驟
1.修改網站檔案,將url簡化為(www.tp5.com/public/index.php/index/index/index)
2.配置tp5檔案,將url簡化為(www.tp5.com/index.php/index/index/index)
3.繫結前後臺模組(即路由繫結),將url簡化為(www.tp5.com/index.php/t)
4.配置虛擬主機,實現隱藏入口檔案,將url簡化為(www.tp5.com/t)
(若可配合tp5官方文件學習,效果更優,本文為升級版的伺服器端url優化,與本地優化方法相似)
接下來逐步講解:
一、修改網站檔案,將url簡化為(www.tp5.com/public/index.php/index/index/index)
1.將tp5資料夾下內容全部剪下移動到網站www.tp5.com的根目錄。
2.刪去tp5空資料夾。
二、配置tp5檔案,將url簡化為(www.tp5.com/index.php/index/index/index)
1.將public下的兩個檔案:index.php和.htaccess兩個檔案剪下移動到網站www.tp5.com的根目錄。
2.修改檔案index.php為:
1 // [ 應用入口檔案 ]
2
3 // 定義應用目錄
4 define('APP_PATH', __DIR__ . '/application/');
5 //繫結前臺
6 define('BIND_MODULE','index');
7 // 載入框架引導檔案
8 require __DIR__ . '/thinkphp/start.php';
其實就是將4行和6行內的 ' ../ ' 刪去
三、繫結前後臺模組,將url簡化為(www.tp5.com/index.php/t)
(繫結方法有很多可以通過tp5官方文件詳細瞭解)
我推薦使用批量註冊的方法繫結:
目標檔案:application/route.php
先註釋掉檔案內的原有程式碼然後寫入如下程式碼:
1 //引入系統類
2 use think\Route;
3 //定義路由規則
4 Route::rule([
5 '/t'=>'index/index/test',
6 ],'','get|post');
四、配置虛擬主機,實現隱藏入口檔案,將url簡化為(www.tp5.com/t)
1.修改apache配置
(1)找到apache下的所有httpd.conf配置檔案
(2)找到rewrite_module modules/mod_rewrite.so 去掉前面的註釋
(3)在配置檔案中, AllowOverride None 將所有None 全部改為 All
(4)搜尋DocumentRoot 將根目錄設定成你的入口檔案那個目錄,我的是DocumentRoot "F:\phpStudy\WWW\thinkphp5\public"
2.修改網站根目錄下的.htaccess檔案為
1 <IfModule mod_rewrite.c>
2 Options +FollowSymlinks -Multiviews
3 RewriteEngine On
4
5 RewriteCond %{REQUEST_FILENAME} !-d
6 RewriteCond %{REQUEST_FILENAME} !-f
7 RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
8 </IfModule>
其實只是做了一個小修改,
將原檔案倒數第二行 RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
改成了 RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
就添加了一個 ‘?’ 而已
3.改完配置後,重啟apache
五、完全Ok啦,使用www.tp5.com/t作為api入口吧!