こんにちは、タクローです。
Laravelを勉強中の方は、XAMPP環境を使っていることが多いと思います。
私がXAMPP環境でLaravelを勉強している時に、「ルーティング」がうまく機能せずにハマったことがあります。
今回はXAMPP環境におけるLaravelの「ルーティング」について、注意しておきたいことを簡単に解説します。
目次
ルーティングとは?
「ルーティング」とは、特定のアドレスにアクセスしたとき、どの処理を実行するかを管理する機能のことを言います。
Laravelの基本中の基本ですので、しっかりマスターしたいものです。
500 Internal Server Errorが表示
すごく簡単な例を下に挙げます。
下の例では、モデル、コントローラー、ビューを一切使わずに、ブラウザに表示させています。
「routes」フォルダ内のweb.phpをテキストエディタで開いて、下記コードを記述(追記)します。
Route::get('sample', function() { return 'Sample
サンプルページ
'; });
単純にh1タグの「Sample」、pタグの「サンプルページ」を表示しようとしているだけです。
それでは、「http://localhost/sample」にアクセスしてみましょう。
想定された文字列がブラウザに表示されず、上のようなエラー(Internal Server Error)が表示される場合があります。
もし、表示されるようであれば、次でその解決方法を解説します。
Internal Server Errorの解決方法
「public」フォルダ内の「.htaccess」ファイルをテキストエディタで開いて、下記の箇所を探してください。
20行あたりにありませんか?
RewriteRule ^ index.php [L]
該当する箇所を見つけたら、下記のように修正してください。
正規表現で「任意の1文字以上の文字列」という意味の「^(.+)$」に書き換えます。
RewriteRule ^(.+)$ /index.php [L]
修正したら、上書き保存して閉じましょう。
もう一度、「http://localhost/sample」にアクセスしてみましょう。
すると、下のように正常に表示されるはずです。
「.htaccess」ファイルの修正を行わないと、コントローラーやビューを作成したとしても、ブラウザに正しく表示できません。
XAMPP環境でLaravelを勉強する場合は、まずこちらをチェックしてみてください。
以上、「ルーティング」に関する「.htaccess」ファイル基本設定についてでした。
最後まで、お付き合いくださりありがとうございました。