我正试图在ebs中迁移我的应用程序,因为它已被弃用,我以前的平台是:
PHP 5.6在64位Amazon Linux/2.98 上运行
现在我要迁移到:
PHP 7.4在64位Amazon Linux 2/3.0.3 上运行
该平台使用Nginx服务器而不是Apache。
我能够部署我的应用程序,但问题是我的.htaccess配置文件和我的.eextensions配置文件一样被弃用。所以我失去了我的设置,例如从http到https的干净URL和重定向。
我试图通过放置相应的配置文件将apache配置转换为Nginx,但显然没有效果。
我已经尝试了许多测试配置,我得出的结论是平台没有读取我放置的配置。
例如,我尝试过用这个小配置来尝试,它应该允许我列出";视图";目录:
cleanurl.config
server {
location / views / {
autoindex on;
}
}
我试着把它放在下面的文件夹里。
&";。ebextensions/cleanurl.config";
files:
"/etc/nginx/conf.d/cleanurl.conf":
mode: "000644"
owner: root
group: root
content: |
server {
location / views / {
autoindex on;
}
}
&";。platform/nginx/conf.d/cleanurl.config";
server {
location / views / {
autoindex on;
}
}
但我没有结果。当我指向一个文件夹时,我总是得到403 Forbidden。请帮忙。
提前感谢
经过一次又一次的尝试,我能够用以下方式解决它:
- 我把文件放在这个位置
.platform/nginx/conf.d/elasticbeanstalk/cleanurl.conf
- 这样更改我的配置文件
location/views/ {
autoindex on;
}
现在一切都正常了。
我尝试了许多测试配置,得出的结论是平台没有读取我放置的配置。
在第一种情况下,这是因为您使用的配置文件用于AmazonLinux1(AL1(。但是,您的环境是运行在64位AmazonLinux2(AL2(上的PHP7.4。
在第二次尝试中,您应该使用.platform/nginx/conf.d/
中的配置文件。但是,您使用的是*.config
扩展名。这个错误的扩展,它应该是:
cleanurl.conf
您可能还有其他问题,但错误的扩展名可以解释为什么文件被忽略。