问答详情
源自:2-5 惯例配置

url 访问控制器?

问什么我模块 访问路径需要写成这样才可以http://localhost/index.php/admin/index

而不能写成   http://localhost/index/admin/index

提问者:慕斯卡2294863 2019-05-02 14:49

个回答

  • 隽愉
    2020-02-23 17:08:12

    我的也一样,不知道为啥

  • askying
    2019-05-04 22:31:05

    这个 url 在服务器解析时需要指定入口文件啊,不然就会将整个 http://localhost/index/admin/index 解析为访问根目录下的 index/admin/index 文件,而如果以 http://localhost/index.php/admin/index 访问,服务器解析时发现url中有带有后缀名“.php”的部分,会截取并确定其为目标访问文件(即PHP作为Apache扩展会去解析 index.php 文件,进而启动 TP 框架),而后续的“/admin/index”会被TP框架解析,admin 指定模块(module),index指定控制器(controller),这个url省略了行为(action),配置里面应该是指定了默认行为的(thinkphp文件夹下convention.php文件中的“default_action”项,可以搜索查看,默认值即为index)。


    emmm,萌新仅发表自己的见解。如有不当之处,希望大佬们指出,谢谢!


  • askying
    2019-05-04 22:28:58

    这个 url 在服务器解析时需要指定入口文件啊,不然就会将整个 http://localhost/index/admin/index 解析为访问根目录下的 index/admin/index 文件,而如果以 http://localhost/index.php/admin/index 访问,服务器解析时发现url中有带有后缀名“.php”的部分,会截取并确定其为目标访问文件(即PHP作为Apache扩展会去解析 index.php 文件,进而启动 TP 框架),而后续的“/admin/index”会被TP框架解析,admin 指定模块(module),index指定控制器(controller),这个url省略了行为(action),配置里面应该是指定了默认行为的(thinkphp文件夹下convention.php文件中的“default_action”项,可以搜索查看,默认值即为index)。

    emmm,萌新仅发表自己的见解。如有不当之处,希望大佬们指出,谢谢!