1、入口文件訪問優化php
入口文件index.php:只能去前臺模塊thinkphp
入口文件admin.php:只能去後臺模塊app
一、在public文件夾下創建admin.php文件框架
二、打開admin.php文件,複製iview
//定義應用目錄ide
define('APP_PATH', __DIR__ . '/../application/');優化
//加載框架引導文件ui
require __DIR__ . '/../thinkphp/start.php';this
三、分別在兩個入口文件中綁定模塊url
index.php文件中綁定define('BIND_MODULE', 'index');
admin.php文件中綁定define('BIND_MODULE','admin' );
以前的訪問
Index.php/index/Index/index admin.php/admin/Index/index
修改後的訪問(省略了模塊項)
Index.php/Index/index admin.php/Index/index (入口文件)、(控制器)、(方法)
四、隱藏入口文件
pache的配置過程,能夠參考下:
a、httpd.conf配置文件中加載了mod_rewrite.so模塊
b、AllowOverride None 將None改成 All 在虛擬主機中把這一項改成All
c、在應用入口文件同級目錄添加.htaccess文件,內容以下:
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] 其中的index.php就是入口文件, 若是隱藏後臺的入口文件 則改爲admin.php
所有文件:
<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>
d、重啓服務
url地址變化:
隱藏前:http://www.thinkphp.com/index.php/index/index
隱藏後:http://www.thinkphp.com/index/index
2、設置路由
動態單個註冊(TP5\thinkphp\library\think\Route.php)中的rule()方法
一、打開路由文件
C:\yingyongchengxu\wamp\tp5\application\route.php
二、設置路由文件
引入系統類
use think\Route;
定義路由規則、設置路由以後就不能使用pathinfo訪問了
未綁定入口文件:Route::rule('newname','index/index/index');
已綁定入口文件:Route::rule('newname','index/index');
3、頁面跳轉
1、方法存在的文件路徑
TP5\thinkphp\library\traits\controller\Jump.php
成功跳轉 $this->success();
失敗跳轉 $this->error();
2、以登陸功能爲例:
三、成功和失敗頁面的文件路徑配置 application/config.php
// 默認跳轉頁面對應的模板文件
'dispatch_success_tmpl' => THINK_PATH . 'tpl' . DS . 'dispatch_jump.tpl',
'dispatch_error_tmpl' => THINK_PATH . 'tpl' . DS . 'dispatch_jump.tpl',
模板文件的路徑:thinkphp\tpl\dispatch_jump.tpl
也能夠本身指定模板,而後本身設計就能夠
'dispatch_success_tmpl' => THINK_PATH . 'tpl' . DS . 'success.tpl',
'dispatch_error_tmpl' => THINK_PATH . 'tpl' . DS . 'error.tpl',、
4、重定向
5、空模塊、空控制器、空方法
對於url中的惡意輸入
一、空模塊:在application/route.php添加
全局MISS路由
'__miss__' => ['index/Index/index', ['method'=> 'get']],
二、空控制器 新建Error控制器
三、空方法