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入口吧!
(本文為原創文章,轉載請注明來自:http://www.cnblogs.com/piaobodewu/)