使用thinkphp,建议开启强制路由;不开启强制路由的程序猿不是个好好程序猿(可以有效防止黑客恶意访问,如:猜后台地址,猜文件路径)
1.开启强制路由:文件位置:config/route.php
// 是否强制使用路由'url_route_must' => true,
2.配置应用(admin)路由配置,文件位置:app\admin\route.php
<?phpuse think\facade\Route;Route::get('/', 'admin/index/index');Route::get('/test', 'admin/index/test');Route::miss(function() {return '404 Not Found!';});
3.配置应用(index)路由配置,方式与admin一样
4.应用common,配置禁止对外访问
'deny_app_list' => ['common']
5.配置路由映射
'app_map' => ['think' => 'admin', // 把admin应用映射为think],
6.访问报错修改
访问路径为:xxx.com/admin,在不更改应用名称(admin)的情况下,换一个URL访问(原:xxx.com/admin,现:xxx.com/think)
如果访问xxx.com/admin/xxx.com/think报错No input file specified.修改xxx.com\public\.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>
修改为一下数据:
<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>
总结:
把最后一行
RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
修改为:
RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
把index.php后面追加一个?