🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

XAMPP

XAMPP(ザンプ)は、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージングしたApacheディストリビューションです。 XAMPPひとつインストールするだけで、Apache、MySQL、PHP、Perlなどのソフトウェアと、 phpMyAdminなどの管理ツール、SQLiteなどのソフトウェアやライブラリモジュールなどを利用することが可能です。

Q&A

解決済

1回答

1700閲覧

Xammpでlaravel 404 error

Hello_ryotaro

総合スコア6

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

XAMPP

XAMPP(ザンプ)は、ウェブアプリケーションの実行に必要なフリーソフトウェアをパッケージングしたApacheディストリビューションです。 XAMPPひとつインストールするだけで、Apache、MySQL、PHP、Perlなどのソフトウェアと、 phpMyAdminなどの管理ツール、SQLiteなどのソフトウェアやライブラリモジュールなどを利用することが可能です。

0グッド

0クリップ

投稿2021/01/31 03:41

解決したいこと
xamppでlaravelのweb.phpで指定したRouteを開きたいです。
(php artisan serveですると、http://localhost:8000/hello等のrouteで設定したページを開くことができます。)
(xamppだと、http://localhost/laravel_project/helloは404errorを起こします。)

試したこと
まず、Internal Server Errorがxamppでhttp://localhost/laravel_project/helloで出ていました。。
リンク内容
以上を参考に、.htaccessを

#RewriteRule ^ index.php [L] RewriteRule ^(.+)$ /index.php [L]

に変更しました。
その後、http://localhost/laravel_project/helloでは、404errorが出ます。

他に、していたこと

httpd.conf

1Alias /laravel_project "/xampp/htdocs/laravel_project/public/" 2<Directory "/xampp/htdocs/laravel_project/public/"> 3 Options Indexes FollowSymLinks MultiViews 4 AllowOverride all 5 Order allow,Deny 6 Allow from all 7</Directory>

httpd

1<VirtualHost *:80> 2 Documentroot "C:/xampp/htdocs/laravel_project/public" 3 ServerName laravel_project 4 # <Directory "C:/xampp/htdocs/laravel_project"> 5 # Require all granted 6 # AllowOverride All 7 # </Directory> 8</VirtualHost>

以上を記載してみました。
Documentrootを設定すればいいという、サイトを参考にしました。

環境
Apache/2.4.43 (Win64) OpenSSL/1.1.1f PHP/8.0.1 Server at localhost Port 80
Laravel v8.25.0

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2021/01/31 06:05

ルーティングの記事を参照してるのに自身のルーティング提示しないのはどういう理由ですか?
Hello_ryotaro

2021/01/31 07:14

php artisan serve では、ルーティング通りにきちんと表示できているので、 xamppの問題だと思っているからです。
kai0310

2021/01/31 07:19

そもそもXAMPPを使うことが悪手な様にも思えます。 php artisan serveではダメなのですか?
Hello_ryotaro

2021/02/02 05:57

サーバー構築に詳しくないために、勉強がてらしてみようとしました。 悪手だったんですね。
hentaiman

2021/02/02 07:46

悪手じゃないぞ むしろphp artisan serverは軽い動作テスト以外で使うべきではない
Hello_ryotaro

2021/02/03 05:21

分かりました。 普段は、xamppをしようします。
guest

回答1

0

ベストアンサー

リンク内容は見てないけど参考にするなら公式情報にしましょう
それ以前にlaravelにはDocumentRootとして設定される想定のpublic配下にデフォルトで用意された.htaccessがあるはずですが

Options +FollowSymLinks -Indexes RewriteEngine On RewriteCond %{HTTP:Authorization} . RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L]

投稿2021/01/31 04:18

hentaiman

総合スコア6426

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Hello_ryotaro

2021/01/31 05:16

回答ありがとうございます。 公式サイト参考にしていませんでした。 https://readouble.com/laravel/8.x/ja/installation.html laravel.8の公式サイトを確認したところ、Webさーばの設定について記載されていなかったので、7の方を参考にしました。 Options +FollowSymLinks -Indexes RewriteEngine On RewriteCond %{HTTP:Authorization} . RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] にpublic内の.htaccessに記載をしましたところ、 Internal Server Errorと出ました。 そのために、いかに変更しました。 #RewriteRule ^ index.php [L] RewriteRule ^(.+)$ /index.php [L] http://localhost/laravle_project/helloに再度404が表示されました。
hentaiman

2021/01/31 05:27

アクセスログもエラーログも見てないから正しい事は分からないけど、404になる時点で設定間違ってるでしょ で、Internal Server Errorとなるって事はちゃんとlaravelの処理が通っていてその後のプログラムなり設定ミスなりでphpのエラーが起きてるって考えられるでしょ エラーが起きたらまずはエラーログ見ましょう、404じゃなくなった時点で進展していると思われます
Hello_ryotaro

2021/01/31 07:12

はい!確認してみます!
Hello_ryotaro

2021/02/02 07:36

まだ解決できてないですが、 [Tue Feb 02 16:25:09.592591 2021] [so:warn] [pid 17128:tid 548] AH01574: module php_module is already loaded, skipping [Tue Feb 02 16:25:09.660593 2021] [so:warn] [pid 17128:tid 548] AH01574: module php_module is already loaded, skipping [Tue Feb 02 16:25:09.692554 2021] [mpm_winnt:notice] [pid 17128:tid 548] AH00354: Child: Starting 150 worker threads. このエラーが出てて、探したんですけど、解決できそうにないので、php artisan serveで使用することにします。
hentaiman

2021/02/02 07:41

phpモジュールの読み込み周りのconfおかしいんじゃないですか? xampp使った事無いのでどうなってるのか分かりませんが、virtualhostと関係無いconfいじったりしてませんか?
Hello_ryotaro

2021/02/02 09:36

laravel関係では、 Alias /laravel_project "/xampp/htdocs/laravel_project/public/" <Directory "/xampp/htdocs/laravel_project/public/"> Options Indexes FollowSymLinks MultiViews AllowOverride all Order allow,Deny Allow from all </Directory> をhttpd.confに記載してます。 php8に変更したときに、すこし8に合わせて変更ました。
hentaiman

2021/02/02 10:04 編集

> php8に変更したときに、すこし8に合わせて変更ました。 怪しいな どうやって変えたか知らないけどconfダブって変な設定になってると思いますよ php artisan serveでエラーが出ないのには実行しているその手のファイルを読むことが無いからです。 xamppで入れられたファイル(apache関連)全消しして入れ直せば直るんじゃないでしょうかね、分からんけど
Hello_ryotaro

2021/02/03 05:20

そうですね。confの設定が怪しいんですかね。 ちょうど、パソコン買い替えたので、そっちで、試してみます。 ありがとうございました!!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問