1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Laravel】Aush認証のリンクで404エラー

Posted at

LaravelでAuth認証を導入した際に、ログインページへのリンクで404エラーになってしまいました。
解決までの道筋を載せます。

環境

MAMP OS:macOS Laravel:8.51.0 PHP:7.4.12 MySQL:5.7.32

エラー

ログインしていたら「設定」「ログアウト」のボタンを表示、もしログインしていない場合は「ログイン」と「新規登録」に飛ぶ。
ログインは"/login"というアドレスで、新規登録は"/register"というアドレスに飛ぶが、このように表記しても404エラーになる。

index.blade.php
@if (Auth::check())
<p>USER: {{$user->name}}</p>
<a class="btn btn-primary" href="#" role="button">設定</a>
<a class="btn btn-primary" href="#" role="button">ログアウト</a>
@else
<p>ログインしていません</p>
<a class="btn btn-primary" href="/login" role="button">ログイン</a>
<a class="btn btn-primary" href="/register" role="button">新規登録</a>
@endif

この画面からボタンを押すと
※作成中のためデザインがしょぼくてすみません
スクリーンショット 2021-07-29 21.26.57.png

ログイン画面での404エラー
スクリーンショット 2021-07-29 21.27.09.png

新規登録画面での404エラー
スクリーンショット 2021-07-29 21.27.16.png

アドレス部分を見てみると、遷移後はアドレスが短縮されている。
ちなみにhref="/login"を、href="study_stamp/public/login"に変更してみると、アドレス部分は「localhost:8888/study_stamp/public/study_stamp/public/login/」になってしまった。

どうやら指定アドレスで公開する設定をしていなかったことが原因だということが分かった。

指定アドレスで公開するとは?

例えばMAMPを利用すると、Webサーバーの公開ディレクトリが「htdocs」になる。 「htdocs」内にファイルを配置すればWeb上に公開される。

今回の件だと「htdocs」フォルダに「study_stamp」というフォルダを入れているので、アクセスする際には。

http://localhost:8888/study_stamp/public/

にアクセスする必要があった。

しかし、このアドレスの/study_stamp/public/部分を無くしたい。
その際にするのが今回の指定アドレスで公開するという設定になる。

指定アドレスで公開するためには

今回はMAMPを利用しているので、MAMPでの設定方法になります。

MAMPのフォルダ内に、「conf」フォルダがある。
その中の「apache」フォルダ内のhttpd.confファイルを開く。

以下の記載の場所を探す

httpd.conf
# Virtual hosts
# Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf

Include前の#を外し、記述を追加する。

httpd.conf
# Virtual hosts
Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf

<VirtualHost *:8888>
    DocumentRoot "/Applications/MAMP/htdocs/study_stamp/public"
    ErrorLog "logs/laravel-error_log"
    CustomLog "logs/laravel-access_log" common
</VirtualHost>

DocumentRootは自分のプロジェクト名で書く。
保存して再起動すると、無事指定アドレスで公開することができました。

スクリーンショット 2021-07-29 21.32.39.png

無事ログイン画面に遷移することもできました。

スクリーンショット 2021-07-29 21.32.45.png

この設定は最初にやらなければいけなかったことですが、それを忘れたまま進めてしまったためでたエラーでした。
もし同じ状況の方がいれば、少しでも参考になればと思います。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?