質問: ### 前提・実現したいこと 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 なぜ、「http://127.0.0.1:8000/hello」だときちんと表示されて、「http://localhost/hogehoge/public/hello」だと404エラーになるのかが知りたいです。 ちなみに、自分でも色々と調べてみて、「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の設定ファイルののAllowOverrideをAllにする必要があると複数のサイトに書いてありましたが、私の環境の設定ファイルにはという部分自体ありません。 試しに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. ``` ### 該当のソースコード ``` Route::get("/hello", function () { print("Hello World!"); return null; }); ``` ### 試したこと php artisan route:listコマンド ### 補足情報(FW/ツールのバージョンなど) -
回答: 回答:Pretty URLの設定する。だけど自分で設定しないのが正解。 毎度毎度同じ話だけど ・Laravelの情報は公式ドキュメント(とその非公式日本語訳)以外見てはいけない。 Apacheのインストールから始めてる時点で間違い。そんな使い方は誰もしてない。 ドキュメント見ようとしたら最初にインストールのページが表示される。そのくらい一番最初の最初に見るべきページにWebサーバーの設定のことが書いてある。 ・Laravel以前の問題 初心者が一番勘違いしてる部分だけどLaravelだけ勉強しても使えるようにはならない。 Laravel使い始める前に知ってて当然の知識が膨大にある。 このくらい知ってるだろうという前提でドキュメントには「Laravelではこう使う」ということしか書いてない。 事前に知ってないとちゃんと書いてあっても理解できない。 今回のPretty URLにしてもWordPressでも散々やってきたこと。