咨询电话:
15628812133
07
2018/07

TP框架不同模块绑定不同域名,并且隐藏index入口文件

发布时间:2018-07-07 11:07:45
发布者:pengyifeng
浏览量:
0

  ThinkPHP是一个快速、兼容而且简单的轻量级国产PHP开发框架,TP框架把每个功能都封装成了模块,用户可以将代码布置到不同的模块下面来,也可以自定义模块,通常情况我们都会将网站分为前台的index模块,和后台的admin模块,这样的布局来说很合理。但是在用url访问的时候,很容易就会被别人看出来我们后台访问的路径,这样就增大了后台被黑客登录,或者被路人登录的情况,为此呢我们就想把每个模块绑定不同的域名来区分,这样进入后台的域名就只有管理人员知道,而且不用的模块也可以区分域名,一个框架也可以放多个项目,感觉就方便很多,如何来将不同的域名绑定到对应的模块,tp给我们也提供了一些方法。

第一步,在application\config.php 配置文件中将url_domain_deploy的对应值改称true来开启一个功能,开启这个功能之后,我们用函数获取的url地质将会加上我们的域名,比如没有开启之前,我们获取的地址是这样的

‘/index.php/member/index/index’是相对路径的url,但是我们要开启对应模块对应域名,相对路径访问的地址就会不对了。所以打开这个参数以后,我们获取到地址就会带上相对应的我们设置的域名,url路径才是正确的。

开启之后,换一行加上这个代码

\think\Route::domain('www.cnwenhui.cn','admin'),

这行代码的意思就是,绑定路由,将www.cnwnehui.cn这个域名,绑定到admin模块,之前的访问路径是这样的www.cnwenhui.cn/index.php/admin。这样来访问后台,现在绑定域名之后,直接输入www.cnwenhui.cn就会直接访问后台登录页面,也是相当的方便。

完整的配置文件是这样的。

模块绑定不同域名

绑定了模块以后,访问模块的方法。域名后面总要跟上入口文件index.php就感觉很蠢的样子,这边我们就来把url里面的index.php去掉。

一,找到/public/.htaccess文件,如果你的入口文件已经移动到根目录下,那么你的.htaccess文件也要剪切到根目录下,总之要确保.htaccess跟入口的index.php在同一文件夹中。


模块绑定不同域名

将上面的代码写入.htaccess文件中,这个文件里面写的是url重写规则,写入规则之后,url中的index.php入口文件就被隐藏掉了。

关键词:
返回列表