Codeigniter 4 部署到 apache2

Codeigniter 4 deployment to apache2

我一直在尝试将我的 codeigniter 4 应用程序部署到本地 apache 服务器中。

我希望能够通过 http://localhost/my_app/ 访问我的应用程序。

我已经在 .env 文件中设置了 url:

app.baseURL = 'http://localhost/my_app'

编辑了 public/ 文件夹中的 .htaccess

RewriteBase /public/

并为 apache 创建了配置

<Directory "/var/www/html/my_app/public">
    AllowOverride all
    LogLevel debug
</Directory>

Alias /my_app /var/www/html/my_app/public

我可以访问主页http://localhost/my_app, but when I try to go to another page http://localhost/my_app/bootstrapview,apache 找不到url。

"The requested URL was not found on this server."

我是不是错过了什么让它发挥作用的东西?我不想更改 index.php 文件的位置,这是我在搜索中找到的大部分内容。

当我在 spark 服务器上尝试时,它运行良好。

编辑: 我正在使用 Ubuntu 18.04 并且 mod_rewrite 已启用。

如果我不使用 RewriteBase,它会不断被重定向:

redirected from r->uri = /my_app/public/index.php/public/index.php/public/index.php/public/index.php/public/index.php/bootstrapview 

我在检查其他选项时找到了一些答案。

使用此配置,如果将 RewriteBase 更改为应用程序的 URL,它将起作用:

RewriteBase /my_app/

重定向到基本 URL“http://localhost/my_app/”仍然存在问题,其中 apache 将找不到基本路由(在 Routes.php -> “/”中)但是例如,您可以创建另一个指向它的路由(“/home”)。