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

来源:2-4 模块设计

菜鸟Wenco

2018-05-02 23:09

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

写回答 关注

6回答

  • 慕桂英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

    菜鸟Wenc...

    感谢,挺久的一个问题了,我已经会了,但是看你给的答案很详细,分给你把

    2018-06-04 08:18:36

    共 1 条回复 >

  • 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

    问题已解决

    菜鸟Wenc... 回复慕仰8311...

    可以,我忘了之前是怎么解决的了,不过只要访问的相对路径能到public下的index.php就可以访问了,权限问题可能是在linux下文件没有权限,可以 chmod 777。

    2019-04-12 16:03:31

    共 2 条回复 >

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

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

    菜鸟Wenc...

    那没有访问权限是什么原因?

    2018-05-03 08:21:42

    共 1 条回复 >

快速入门ThinkPHP 5.0--基础篇

ThinkPHP5已发布多时,想了解ThinkPHP5的新特性吗?老司机带你马上出发~

58655 学习 · 495 问题

查看课程

相似问题