问答详情
源自:2-4 模块设计

所以这个网站根目录是不是放在public文件夹啊?

看之前的教程说是要把网站根目录放在public文件夹,但是看这集教程是吧根目录放在了application文件夹,而且我把根目录放在application文件夹就出现了没有权限访问的提示,哪位大佬能帮我解答一下

提问者:菜鸟Wenco 2018-05-02 23:09

个回答

  • 慕桂英2170621
    2018-05-22 08:15:32
    已采纳

    根你如何放置文件目录无关,只有理解URL访问设计即可正常访问文件

    https://img4.mukewang.com/5b0360090001220a03070502.jpg

    以上是我的自行设计的目录结构,虽然不是根目录,一样可以正常访问,

    URL设计

    ThinkPHP5.1在没有定义路由的情况下典型的URL访问规则是:

    http://serverName/index.php(或者其它应用入口文件)/模块/控制器/操作/[参数名/参数值...]

    支持切换到命令行访问,如果切换到命令行模式下面的访问规则是:

    >php.exe index.php(或者其它应用入口文件) 模块/控制器/操作/[参数名/参数值…]

    可以看到,无论是URL访问还是命令行访问,都采用PATH_INFO访问地址,其中PATH_INFO的分隔符是可以设置的。

    普通模式的URL访问不再支持,但参数可以支持普通方式传值

    >php.exe index.php(或者其它应用入口文件) 模块/控制器/操作?参数名=参数值&…

    如果不支持PATHINFO的服务器可以使用兼容模式访问如下:

    http://serverName/index.php(或者其它应用入口文件)?s=/模块/控制器/操作/[参数名/参数值...]

    必要的时候,我们可以通过某种方式,省略URL里面的模块和控制器。

    即至少有两种访问方式:

    方法一,http://serverName/index.php(或者其它应用入口文件)/模块/控制器/操作(方法名)

    方法二,http://serverName/index.php(或者其它应用入口文件)?s=/模块/控制器/操作(方法名)

    如我的就是http://localhost:8080/projectbytp5/public/index.php?s=admin/Index/getEnv,正常访问无问题

    如果是指.env文件的放置路径,直接放置在根目录下即可,就是application的同级目录

    如我的就是

    https://img3.mukewang.com/5b03611600014e2306100457.jpg

  • buyaolanduo
    2019-03-12 11:05:14

    给力,谢谢。

  • fu2018
    2018-07-06 13:00:36

    非常感谢,成功的解决了我的疑惑

  • qq_夜凉如水_1
    2018-05-17 11:49:46

    我也是没有权限,怎么解决的老铁


  • 菜鸟Wenco
    2018-05-03 09:52:32

    问题已解决

  • 江天暮雪G
    2018-05-02 23:36:51

    放在哪里都是可以的,只是路径设置的不同。