为了账号安全,请及时绑定邮箱和手机立即绑定

thinkphp5如何将public隐藏掉

thinkphp5如何将public隐藏掉

PHP
慕娘9325324 2019-03-13 09:08:11
将index.php放入根目录,设置了相对路径,但是就只有主页控制器默认方法能用,其他的方法都用不了,不存在
查看完整描述

8 回答

?
PIPIONE

TA贡献1829条经验 获得超9个赞

一般直接是把根目录指到public下啊
查看完整回答
反对 回复 2019-03-18
?
MMTTMM

TA贡献1869条经验 获得超4个赞

thinkphp5 应该是把 网站根目录 配置在 public下面吧
另外 其它方法访问不了 是不是 pathinfo 没开的原因

查看完整回答
反对 回复 2019-03-18
?
慕尼黑8549860

TA贡献1818条经验 获得超11个赞

你们的方法太复杂了。nginx中配置root /path/project/public/即可。指向public下面。

查看完整回答
反对 回复 2019-03-18
?
繁花不似锦

TA贡献1851条经验 获得超4个赞

这个thinkphp5官方有详细文档的,如果你的服务器是apache,就相对简单些,如果是nginx,需要在nginx的配置文件里设置对你那个项目的重写,以达到隐藏index.php的目的,官方配置

查看完整回答
反对 回复 2019-03-18
?
千巷猫影

TA贡献1829条经验 获得超7个赞

如果index.php不是放在public,而是否放在项目根目录,
1、首先将站点的绑定到项目根目录
2、在根目录创建index.php

<?php

// [ 应用入口文件 ]
// 定义应用目录
define('APP_PATH', __DIR__ . '/application/');
// 加载框架引导文件
require __DIR__ . '/thinkphp/start.php';

正常的访问地址是:

http://域名/index.php/module/controller/action

3、如果需要在url访问的时候隐藏index.php
需要做重写规则,以nginx为例

location / {
    if (!-e $request_filename) {
        rewrite  ^(.*)$  /index.php?s=/$1  last;
        break;
    }
 }

访问地址变成:

http://域名/module/controller/action
查看完整回答
反对 回复 2019-03-18
?
慕慕森

TA贡献1856条经验 获得超17个赞

把public中的index.php放到根目录下 然后改成这样就可以不用public访问了
https://img1.sycdn.imooc.com//5c8f58120001148604680117.jpg

查看完整回答
反对 回复 2019-03-18
?
叮当猫咪

TA贡献1776条经验 获得超12个赞

root 直接指到public目录下

查看完整回答
反对 回复 2019-03-18
  • 8 回答
  • 0 关注
  • 1504 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信