PHP - Laravel - トラブルシュート - The GET method is not supported その1


クラウディア 


1. 概要
2. 対策

1. 概要

 本ドメインの、別サイトで久々に設定をいじってみようと思い立ち。  ちゅうのも、ある事情があって、トレイリングスラッシュ「trailing slash」をつけようとあれこれ試行錯誤・・・。  「trailing slash」に関しては、まぁいつか書くかもしれませんが、いまんとこうまくいかない。  試行錯誤したものを元に戻したつもりが、そのサイトのルートを表示しようとしたら・・・。


The GET method is not supported for this route. Supported methods: HEAD, POST, PUT, PATCH, DELETE, OPTIONS.
 と書かれておりますが・・・。  そのサイトのトップは。

routes/web.php
 に。

Route::any('/', function (){  return view('index');});
 てな書き方をしておりまして。  コンテンツの内容云々の話は置いておくとして、「GET」もくそも、「any」で、全部パススルーしているはずなのに・・・。  あせりました。  本ページは、下記のサイトを参考にさせていただきました。
「The GET method is not supported for this route. Supported methods: HEAD.」が発生する
 ほんの一言しか、書いていないんだけど、すごく役に立ちました。  ありがとうございます。

2. 対策

 オチを先に書いておくと。

$ sudo -u www php /パス/artisan route:clear
Route cache cleared!
 ですわ。  「sudo」のあたりは、当サイト特有の話なので置いておくとして。  「artisan route:clear」が決め手でしたわん。  実は、あれこれいじったものを、一度、ご破算にしようと。

sudo -u www php /パス/artisan optimize
 をしたのですが・・・。

Configuration cache cleared!
Configuration cached successfully!
Route cache cleared!
Routes cached successfully!
Files cached successfully!
 と出力されるし、「Route cache cleared!」て出てるから問題ないと思っていたら、大きな間違いだったのです。  もう少し、詳しく言うと、対象のサイトは「mem cache」でなく、キャッシュの設定は、デフォルトの。

CACHE_DRIVER=file
 なのですが。  その状態で「artisan optimize」しちゃうと冒頭のようなことになるらしい。  もっと分かりやすくならんもんかしら・・・。

EaseUS
AbemaTV 無料体験