1.绑定模块
入口文件中写
define("BIND_MODULE",admin)
define("BIND_MODULE",index)
2.隐藏入口文件
1.httpd.conf开启rewrite模式
2.vhost.conf设置访问权限 AllowOverride All
3.入口文件中放入 .htaccess
<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>
3.路由
1.只针对应用,不会针对模块
2.方便用户记忆,和百度收录
3.关闭某个模块的路由,可以在入口文件,框架加载之后
\think\App::route(false);
4.开启和关闭路由,在应用配置文件文件中config.php
‘url_route_on‘ => true,// 开启路由 ‘url_route_must‘ => false,//是否强制路由
5.设置路由 通常再applicate/route.php中
<?php
use think\Route;
Route::roule(‘/‘,‘index/index/index‘);
Route::roule(‘index‘,‘index/index/test‘); //127.0.0.1/index
//设置路由之后就不能使用pathinfo使用了。
//给路由带参数 127.0.0.1/canshu/1
Route::roule(‘canshu/:id‘,‘index/index/canshu‘);
//如果路由设置连个参数,必须带两个参数 127.0.0.1/data/2018/2/1
Route::rule(‘data/:year/:month/:day‘,‘index/index/data‘);
//可选参数得路由 127.0.0.1/data/2018/2
Route::rule(‘data/:year/[:month]‘,‘index/index/data‘);
//全动态路由 127.0.0.1/dongtai/a/b
Route::rule(‘:a/:b‘,‘index/index/dongtai‘);
//完全匹配路由 //访问 127.0.0.1/test1 可以访问 访问 127.0.0.1/test1/para不能访问
Route::rule(‘test1$‘,‘index/index/test1‘);
//带额外参数 127.0.0.1/test2 默认会传入参数
Route::rule(‘test2‘,‘index/index/test2?id=10&name=zhangsan‘);
//设置请求类型
//tp中的请求类型 get post put delete
//设置路由的请求方式
//Route::rule()默认支持所有的请求方式
//支持get
Route::rule(‘type‘,‘index/index/test1‘,‘get‘);
Route::get(‘type‘,‘index/index/test1‘);
//支持post
Route::rule(‘type‘,‘index/index/test1‘,‘post‘);
Route::post(‘type‘,‘index/index/test1‘);
//同时支持get和post
Route::rule(‘type‘,‘index/index/test1‘,‘get|post‘);
//支持所有
Route::rule(‘type‘,‘index/index/test1‘,‘*‘);
Route::any(‘type‘,‘index/index/test1‘);
//支持put
Route::rule(‘type‘,‘index/index/test1‘,‘put‘);
Route::put(‘type‘,‘index/index/test1‘);
//支持delete
Route::rule(‘type‘,‘index/index/test1‘,‘delete‘);
Route::delete(‘type‘,‘index/index/test1‘);
6.模拟put请求再表单中使用隐藏域
<input type="hidden" name="_method" value="PUT">