如何重新配置 CodeIgniter (v4) 以使用新的子目录路径(通过 nginx)?

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

我有两个应用程序(我们称之为 DRUPAL 和 CODEIGNITER (v4))在 Elastic Beanstalk 中运行,每个应用程序都有一个专用的负载均衡器。我想设置 AWS CloudFront 来整合域,以便通过 DRUPAL 域访问它们,并使用 DRUPAL 域中的路径将流量发送到 CODEIGNITER 应用程序。

因此,目前的设置是 DRUPAL 流量流向 https://DRUPAL.com,而 CODEIGNITER 流量流向 https://CODEIGNITER.com,我希望它能够将其合并,以便 https:// DRUPAL.com/PATH 转到 CODEIGNITER 应用程序。

因此,我已将 CODEIGNITER 的 baseurl 重新配置为 https://DRUPAL.com/PATH,因此其所有链接都是正确的。我已经设置了具有两个源和 PATH 行为的 CloudFront 发行版,并将流量发送到正确的位置。

我遇到的问题是 CODEIGNITER 应用程序使用 /PATH 前缀调用,并且其路由不适用于其控制器运行模式以及公共静态文件(css、js 等)目录。

Elastic Beanstalk 使用 nginx 设置。我认为我正在寻找一种方法,让它在响应请求时忽略 /PATH 前缀,并能够提供动态和静态内容,就像它目前通过其原始域所做的那样。

我尝试过各种位置配置黑客、公共文件夹中的符号链接和重定向,但还没有找到解决所有场景的方法(“主页”有效吗?子页面有效吗?静态文件有效吗?) .

codeigniter nginx amazon-elastic-beanstalk amazon-cloudfront
1个回答
0
投票

只是分享我的解决方案,以防其他人也有类似的问题...

我最终编写了一个简单的 CloudFront 函数(用 Javascript)来替换路径,然后在查看器请求的行为设置中使用该函数,以便在我的 CODEIGNITER 应用程序看到它之前将其删除。

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