【问题标题】:Codeigniter 4 deployment to apache2Codeigniter 4 部署到 apache2
【发布时间】:2020-06-27 10:23:36
【问题描述】:

我一直在尝试将我的 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,但是当我尝试转到另一个页面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 

【问题讨论】:

  • Apache 的 mod_rewrite 是否启用?您使用的是哪个操作系统?
  • 我使用的是 Ubuntu 18.04 并且模块已启用:“模块重写已启用”。

标签: php apache2 codeigniter-4


【解决方案1】:

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

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

RewriteBase /my_app/

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

【讨论】:

  • 如果有人能找到更好的方法,我会更改接受的答案。
猜你喜欢
  • 1970-01-01
  • 2021-06-23
  • 2019-01-08
  • 2011-01-15
  • 2018-03-20
  • 2012-08-07
  • 1970-01-01
  • 2018-08-01
  • 1970-01-01
相关资源
最近更新 更多