1、define
① define('APP_PATH','./Cluster/'); 定义应用目录,文件自动生成
② 可以有多个入口文件:复制 index.php并重命名为admin.php
$_GET['m'] = 'Admin';//加载 admin模块
$_GET['c'] = 'Admin';//加载 admin控制器
③ 为了避免某些服务器开启了目录浏览权限后可以直接在浏览器输入URL地址查看目录,系统默认开启了目录安全文件机制,会在自动生成目录的时候生成空白的index.html文件,
define('DIR_SECURE_FILENAME','default.html'); //修改安全文件index.html为default.html
define('DIR_SECURE_CONTENT','hello world!!'); //向安全文件写入 hello world
define('BUILD_DIR_SECURE',false); //不生成安全文件
2、common/config
① 'MODULE_DENY_LIST' => ['Common','Runtime'],//禁止访问的模块,默认禁止Common、runtime
'MODULE_ALLOW_LIST' => ['Admin'],//允许访问的模块,默认允许Admin、Home
② 'DEFAULT_MODULE' => 'Admin'//默认加载模块
③ 'MULTI_MODULE' => false,//只允许单模块
3、参数
① /p/test =》 $p=test
② 'URL_PATHINFO_DEPR'=>'_' : Home_Index_user_p_test
③ 经典模式 :?m=Home&c=Index&a=user&p=test
④ 'VAR_MODULE' => 'mm','VAR_CONTROLLER' => 'cc','VAR_ACTION' => 'aa',//修改m(module)、c(controller)、a(action)键名称
?mm=Home&cc=Index&aa=user&p=test
4、隐藏 index.php
apache:① mod_rewrite.so ② AllowOverride None =》 AllowOverride All
新建 .htaccess
① nginx 配置
location / {
index index.html index.htm index.php;
if (!-e $request_filename){
rewrite ^/(.*)$ /index.php/$1;
}
}
② thinkphp 配置
"URL_MODEL" => 2 //重写模式,demo/User/add/id/5.html
5、数据库配置
① 'LOAD_EXT_CONFIG' => 'db', //加载db.php文件
② db.php文件
return [
"DB_TYPE" => "mysql", // 数据库类型
"DB_HOST" => "127.0.0.1", // 服务器地址
"DB_NAME" => "blog", // 数据库名
"DB_USER" => "root", // 用户名
"DB_PWD" => "123456", // 密码
"DB_PORT" => "3306", // 端口
"DB_PREFIX" => "bjy_", // 数据库表前缀
];
6、页面trace配置
"SHOW_PAGE_TRACE" => true,
"DB_DEBUG" => true, // 数据库调试模式 开启后可以记录SQL日
7、pathinfo
7.1、开启 php cgi.fix_pathinfo
①、打开 php.info 将 cgi.fix_pathinfo 设置为 1 ,重启 php-fpm
②、在相应的域名下面添加
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
7.2、开启伪静态
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php$1 last;
break;
}
}