前提・実現したいこと
Windows10環境に、composerでlaravelをインストールしました。
Apacheのドキュメントルート(C:\Apache24\htdocs)にプロジェクト(hogehoge)を作成し、ブラウザで以下のアドレスにアクセスするとlaravelの画面が表示されます。
http://localhost/hogehoge/public/
しかし、hogehoge\routes\web.phpに新たなルーティング(hello)を追加し、ブラウザでアクセスすると404エラーになってしまいます。
http://localhost/hogehoge/public/hello
試しに以下のアドレスでアクセスすると404エラーにならずにきちんと表示されます。
http://127.0.0.1:8000/hello
ちなみに、自分でも色々と調べてみて、「php artisan route:list」では以下のように表示されることからルーティング自体は正しく出来ている模様です。
(「http://127.0.0.1:8000/hello」できちんと表示されるので当たり前と言えば当たり前かもしれませんが…)
+--------+----------+----------+------+---------+--------------+
| Domain | Method | URI | Name | Action | Middleware |
+--------+----------+----------+------+---------+--------------+
| | GET|HEAD | / | | Closure | web |
| | GET|HEAD | api/user | | Closure | api,auth:api |
| | GET|HEAD | hello | | Closure | web |
+--------+----------+----------+------+---------+--------------+
あと、Apacheの設定ファイル(httpd.conf)の記述が間違っているという情報も複数見つけましたが、そもそもlaravelをインストールした際にApacheの設定ファイルを修正する必要があるのか無いのかが分からないレベルです。
Apacheの設定ファイルの<Directory "/var/www/html">のAllowOverrideをAllにする必要があると複数のサイトに書いてありましたが、私の環境の設定ファイルには<Directory "/var/www/html">という部分自体ありません。
試しにAllowOverride noneの部分をすべてAllowOverride Allに変更してApacheを再起動してみましたが404エラーは解消されませんでした。
発生している問題・エラーメッセージ
なぜ、「http://127.0.0.1:8000/hello」だときちんと表示されて、「http://localhost/hogehoge/public/hello」だと404エラーになるのか?
エラーメッセージは以下の通りです。
Not Found The requested URL was not found on this server.
該当のソースコード
php
1Route::get("/hello", function () { 2 print("<h1>Hello World!</h1>"); 3 return null; 4});
試したこと
php artisan route:listコマンド
補足情報(FW/ツールのバージョンなど)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/02 00:05
2020/02/02 03:39
2020/02/03 03:35
2020/02/03 03:51
2020/02/03 09:36