[英]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.