![](/img/trans.png)
[英]Change Root in a symfony 2.8 App on AWS - Elastic Beanstalk
[英]Symfony 4 running on AWS Elastic Beanstalk
我最近在Symfony 4中完成了一个API,我想在AWS的Elastic Beanstalk上部署它以进行生产测试。 但是,除了能够在index.php Symfony默认页面中访问默认的Symfony 4问候语
我无法路由到任何其他逻辑。 例如,当尝试使用/ note / view时,本地环境注释/视图适用于本地
我在EB环境中遇到“未定义的索引/注释/视图不存在”。 几乎像我的routes.yaml没有加载。
任何建议将不胜感激! 提前致谢!
确保您的public
目录中有.htaccess
文件(至少在您的EC2实例上 - EB创建的那个 - )
你的本地可能不需要它(比如nginx)但是,EB PHP带有开箱即用的apache。 您需要确保您的代码也适用于apache。
只是为了测试这个理论,访问由EB创建的EC2实例(如果你不知道如何,请参见下文);
cd /var/app/current/public
~ nano .htaccess
将下面的内容粘贴到文件中;
`
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
<IfModule !mod_rewrite.c>
<IfModule mod_alias.c>
RedirectMatch 302 ^/$ /index.php/
</IfModule>
</IfModule>
请注意,这只是apache测试该理论的基本重写。 您可以根据项目的需要为此文件添加更多内容。
sudo service httpd restart
或者替代cd /var/app/current/public
,你可以做cd /var/www/html/public
因为它是/var/app/current/public
符号链接
如何访问EB生成的EC2实例
您需要一段时间才能登录。
PS当然,EBS背后的主要思想之一就是你不需要SSH进入你的实例。 然而,这只是为了测试理论,有时候使用AWS,你需要采用跟踪和错误的方式。 我不知道这个应用程序的设置,也不知道EBS及其工作流程的整个设置。 如果这将解决您的问题,您只需将.htaccess
包含在您的项目中就可以了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.