【问题标题】:New Elastic Beanstalk instance not using .htaccess不使用 .htaccess 的新 Elastic Beanstalk 实例
【发布时间】:2020-10-01 14:26:47
【问题描述】:

我遇到了一个以前从未遇到过的奇怪问题:我的新 Elastic Beanstalk 环境不尊重我的 .htaccess 文件。这很奇怪,因为我不记得这曾经是一个问题。事实上,我有一个多年前设置的较旧的 EB 环境,游戏代码很好。

这个新环境是 64 位 Amazon Linux 2。

在别处寻找指南说您需要编辑/etc/httpd/conf/httpd.conf 文件,但我的 EC2 实例没有。 (我也没有/etc/apache2 目录。)它最接近的是/etc/httpd/conf.d/php.conf 文件。

我不记得以前必须这样做,显然我有点担心我的 EC2 实例会忘记对任何 .conf 文件的任何更改,如果我必须在将来创建新实例。

如何让我的 EB/EC2 实例实现我的 .htaccess 文件?

【问题讨论】:

  • “这很奇怪,因为我不记得这曾经是一个问题” - 您使用的是什么版本的 Apache?在 Apache 2.2 上,.htaccess 文件(或者更确切地说是.htaccess overrides)默认启用;但在 Apache 2.4 上,它们不是并且必须使用 AllowOverride 指令在服务器配置中显式启用 somewhere
  • @MrWhite facepalm 亚马逊将其最新的 EB 包环境更改为使用 Nginx,但并未提及。啊。这可以解释为什么 .htaccess 文件不再被尊重......!呵呵。

标签: amazon-web-services .htaccess amazon-ec2 amazon-elastic-beanstalk amazon-linux-2


【解决方案1】:

从 v3.0.0 开始,Amazon 将其 Elastic Beanstalk PHP 平台更改为使用 nginx 作为其服务器,而不是 Apache。在您创建平台时不会在任何地方提及这一点,因此它可能会让您措手不及。

如果要使用Apache,需要选择平台版本v2.x.x。

详情请见the full history of Elastic Beanstalk PHP platforms

【讨论】:

    【解决方案2】:

    另一个答案的更新,您现在可以通过更新配置中的代理服务器将版本 3+ 中的服务器更改为 apache。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-02
      • 2018-08-31
      • 2019-01-05
      • 2017-04-04
      • 2015-10-24
      • 2019-03-07
      • 2011-12-24
      • 2015-12-21
      相关资源
      最近更新 更多