質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.37%
Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

MAMP

Mac 上で WordPress などの動的ページのサイトが作れるように環境を構築するフリーソフト

Q&A

解決済

1回答

2711閲覧

ドキュメントルート以外のURLに接続すると404エラーが表示されるようになった

Mchinta

総合スコア29

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

MAMP

Mac 上で WordPress などの動的ページのサイトが作れるように環境を構築するフリーソフト

0グッド

0クリップ

投稿2021/07/11 07:59

前提・実現したいこと

MAMP環境下でLaravelを使ったアプリを開発しているのですが、
ドキュメントルート以外のURLにアクセスすると404エラーが表示されるようになってしまいました。
昨日までは正常に動作していたため、原因がわからず詰まっております。

こういった場合の具体的な解決策や「ここを確認してみては?」などのアドバイスがございましたら、お力を貸していただけないでしょうか。

発生している問題・エラーメッセージ

ドキュメントルート以外のURLにアクセスすると404エラーが表示される。

1.http://local-samaple.com/にアクセスする ←ドキュメントルート
→エラーなくページが開く
2.http://local-samaple.com/formにアクセスする
→404エラー
3.http://local-samaple.com/adminにアクセスする
→404エラー

■apache_error_log

[Sun Jul 11 16:19:57 2021] [error] [client 127.0.0.1] File does not exist: C:/Users/user_name/PhpstormProjects/sample_form/public/form [Sun Jul 11 16:20:04 2021] [error] [client 127.0.0.1] File does not exist: C:/Users/user_name/PhpstormProjects/sample_form/public/admin

該当のソースコード

php

1Route::get('/', function () { 2 return view('welcome'); 3}); 4 5Route::get('/form','FormController@input'); 6Route::get('/admin','AdminController@index'); 7

試したこと

以下のことを実施いたしましたが、動きは変わらず。。
1.MAMPの再起動
2.PC再起動
3.ブラウザのキャッシュ削除
4.以下のように同じようなローカルアプリを動かしても同様の現象になるか試しましたが、ドキュメントルート以外は404でした。

http://local-memo.com/にアクセスする
→エラーなくページが開く
http://local-memo.com/createにアクセスする
→404エラー
http://local-memo.com/showにアクセスする
→404エラー

直前までやっていた作業

動かなくなるまでブラウザでの動作確認のみ。
apache関係のファイルを操作したり、プログラムのソースコードやDBの修正などは行っていません。

補足情報(FW/ツールのバージョンなど)

virtualhostの設定を行っています

■hosts

127.0.0.1 local-samaple.com 127.0.0.1 local-memo.com

■httpd-vhosts.conf

<VirtualHost *:80> DocumentRoot "C:/Users/user_name/PhpstormProjects/sample_form/public/" ServerName local-samaple.com </VirtualHost> <VirtualHost *:80> DocumentRoot "C:/Users/user_name/PhpstormProjects/memo/public/" ServerName local-memo.com </VirtualHost>

大変恐縮ですが、どうぞよろしくお願いいたします。

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

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

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

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

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

guest

回答1

0

自己解決

自己解決致しました。

【解決方法】
confファイルを見直し、AllowOverrideの設定をAllにすると無事読み込むようになりました。

"C:\MAMP\conf\apache\httpd.conf"

# # Each directory to which Apache has access can be configured with respect # to which services and features are allowed and/or disabled in that # directory (and its subdirectories). # # First, we configure the "default" to be a very restrictive set of # features. # <Directory /> Options FollowSymLinks ExecCGI AllowOverride None Order deny,allow Allow from all </Directory> ↓↓ <Directory /> Options FollowSymLinks ExecCGI AllowOverride All Order deny,allow Allow from all </Directory>

【原因】
AllowOverrideの設定がNoneになっており、ドキュメントルートの/public配下にある.htaccessの使用が許可されずに404として処理されていたから。

ただこの辺触った覚えがないので、なぜ突然こうなったかはわからず。。

投稿2021/07/11 12:44

Mchinta

総合スコア29

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問