前提・実現したいこと
AWS Elastic Beanstalkでwebアプリケーションを作成しています。
表題の通り、404 Not Found に悩まされています。
FWはBEAR.sundayを使用しており、
以下の公式HPでは
ルーターの設定やスクリプトは必要なく
/done のリクエストは {Vendor名}{Project名}\Resource\Page\done クラスを呼び出すとのことですが、
(Page下にDone.phpがある)
ローカル環境では、クラスが呼び出されるが、
EC2上だと 404 not foundになってしまう。
(ドキュメントルート下にdoneなんて無いというエラー)
ローカル環境の
http://localhost:8080/done?id=1
では正しくクラスが動いて処理されるが
AWSでの
http://環境名.elasticbeanstalk.com/done?id=1
では動いてくれません。
**__http://環境名.elasticbeanstalk.com/__** での初期表示自体はできており、
doneボタンを押した時の処理になります。
アプリは以下の記事を参考にローカルで作り、
CodePipelineでElastic Beanstalkでデプロイしています。
デプロイする際に.ebextensionsフォルダにconfigファイルを置いてドキュメントルートを設定していますが
なにか他に設定するべきでしょうか。
https://polidog.jp/2016/04/29/bear/
BEAR.sunday(公式)
http://bearsunday.github.io/manuals/1.0/ja/router.html
この方法で動かせるのがベストでは有りますが、
とりあえずは何かしら別の方法で動かならば、そちらもご教授して頂けたらありがたいです。
発生している問題・エラーメッセージ
2020/06/17 13:03:09 [error] 15112#0: *2027 open() "/var/www/html/プロジェクト/delete" failed (2: No such file or directory), client: 172.32.13.253, server: , request: "GET /delete?id=1 HTTP/1.1", host: "環境"
該当のソースコード
twig
1{% extends 'layout/base.html.twig' %} 2 3{% block content %} 4 <h1 class="page-header">タスク</h1> 5 <div class="row"> 6 <div class="col-sm-8"> 7 <div class="panel panel-default"> 8 <div class="panel-heading">タスク一覧</div> 9 <div class="panel-body"> 10 {% if todos %} 11 <table class="table"> 12 <thead> 13 <tr> 14 <th>Id</th> 15 <th>Title</th> 16 <th>CreatedAt</th> 17 <th> </th> 18 </tr> 19 </thead> 20 <tbody> 21 {% for todo in todos %} 22 <tr> 23 <td>{{ todo.id }}</td> 24 <td>{{ todo.title }}</td> 25 <td>{{ todo.createdAt|date("Y/m/d H:i:s") }}</td> 26 <td> 27 {% if todo.status == 1 %} 28 <a class="btn btn-success" href="/done?id={{ todo.id }}">Done</a> 29 <a class="btn btn-danger" href="/delete?id={{ todo.id }}">del</a> 30 {% endif %} 31 </td> 32 </tr> 33 {% endfor %} 34 </tbody> 35 </table> 36 37 {% else %} 38 <div class="panel-body"> 39 <p>タスクがありません</p> 40 </div> 41 {% endif %} 42 </div> 43 </div> 44 45 </div> 46 <div class="col-sm-4"> 47 <div class="panel panel-default"> 48 <div class="panel-heading">新規作成</div> 49 <div class="panel-body"> 50 {{ todo_form|raw }} 51 </div> 52 </div> 53 </div> 54 </div> 55{% endblock %} 56 57
試したこと
href="/done"をして時に、
対象のクラスを動かすというBEARの処理がおかしいのかという点で
SSH接続でEC2に入り、その中でBEARのプロジェクトを作成
それを一度ローカルに持って行き、対象のソースを修正して再度EC2にデプロイしましたが、変わりませんでした。
composer create-project -n bear/skeleton MyVendor.MyProject
補足情報(FW/ツールのバージョンなど)
プラットフォーム
PHP 7.4
FW BEAR.sunday
あなたの回答
tips
プレビュー