如何在子文件夹中使用CodeIgniter 4.6?

问题描述 投票:0回答:1

我正在尝试使用 CodeIgniter 4.6(最新)在 xampp (php 8.2) 下创建一个新网站。这是我所做的:

  1. 运行cmd:composer在htdocs文件夹下创建项目codeigniter4/appstarter c46

  2. 更新App.php中的baseURL,如下所示

    公共字符串 $baseURL = 'http://localhost:988/c46/'; // 最后还尝试了 public

现在,我可以访问 http://localhost:988/c46/public/ 查看默认的欢迎页面(来自 Home 控制器索引方法的页面)。到目前为止一切都很好。

我在控制器Home.php中添加了一个新功能

public function test(): string { return 'ok'; }
这是我的问题,我无法访问主页/测试页面。似乎只有默认控制器和方法有效。我试过:

    http://localhost:988/c46/public/home/test -- 显示 404 消息
  • http://localhost:988/c46/public/index.php?home/test -- 这将转到默认页面
  • http://localhost:988/c46/public/index.php/home/test -- 显示 404 消息
我还尝试将公共文件夹 RewriteBase 中的 .htaccess 文件更改为下面的文件,但都不起作用

RewriteBase /c46 RewriteBase /c46/public
如何访问控制器中的新页面/方法?  我需要做出哪些改变才能完成这项工作?

提前非常感谢!

codeigniter subdirectory
1个回答
0
投票
当项目位于子目录中时,我也遇到了一些使用 ci4 路由的问题,这就是我所做的:

  1. $baseURL
     值更改为 
    app/Config/App.php
    
    
    在项目的根目录中添加.htaccess(您需要将其放置在c46目录的根目录中)以将http请求从
    http://localhost:988/c46/
  2. 重写为
  3. http://project
    
    
    这是您可以添加到项目中的 .htaccess 示例:
http://project/public


© www.soinside.com 2019 - 2024. All rights reserved.