thinkPHP5中怎么隐藏入口文件
一、情况准备
在进行URL隐藏之前,我们需要先检查一下外地情况是否支持伪静态功效和URL重写功效,这样才华顺利进行URL隐藏操作。首先我们要确保装置了Apache或者Nginx等web效劳器,然后在配置文件中启用伪静态和URL重写功效,这样才华使得框架识别生成美化后的URL。
二、开启URL隐藏
翻开配置文件
立即学习“PHP免费学习条记(深入)”;
在thinkPHP5的配置文件中,找到app.php文件,找到url_html_suffix配置项,将其设置为空字符串,即:
'url_html_suffix' => ''
登录后复制
这样就允许URL不带后缀了。
配置路由
通过在thinkphp5中配置路由规则,会见URL可以映射到相应的控制器或操作要领。我们需要针对每个控制器或操作要领进行对应的路由设置,将其对应的URL映射到一个有意义的内容上,这样才华使得隐藏的效果发挥出来,例如:
Route::get('news/:id','index/index/news',[],['id'=>'\d+']);
登录后复制
这样,会见/news/1这个URL时,就会自动挪用index控制器的news操作要领,并将请求参数id设置为1。
配置效劳器
在Apache或者Nginx中也要进行相应的配置。以Apache为例,在.htaccess中添加以下内容:
RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?s=/$1 [QSA,PT,L]
登录后复制
这段代码中,RewriteEngine on是开启Apache的URL重写功效;RewriteCond %{REQUEST_FILENAME} !-d和RewriteCond %{REQUEST_FILENAME} !-f是排除掉会见文件和目录的请求,制止对静态资源的会见造成影响;最后RewriteRule用于将URL指向thinkPHP入口文件index.php,并带上路由信息。
三、附加功效
设置URL后缀
我们可以通过设置URL后缀进一步增强应用的宁静性。例如,可以将所有的URL后缀设置成.shtml、.html、.shtml等,这样可以有效制止对我们的应用造成攻击。
可以在配置文件中,找到url_html_suffix选项并加上相应的后缀即可,例如:
'url_html_suffix' => 'shtml|html|htm'
登录后复制
自动识别URL
在Route类的register要领中添加一个路由规则,以便框架可以自动解析URL。例如:
if (is_file(APP_PATH . 'route.php')) { Route::get('/', 'index/index'); Route::get('build', 'index/build'); include_once APP_PATH . 'route.php'; }
登录后复制
这样,如果有切合规则的URL,将自动转发到其对应的控制器或操作要领。
以上就是thinkPHP5中怎么隐藏入口文件的详细内容,更多请关注本网内其它相关文章!