EC-CUBE3でたまに確認されるエラー、Method not allowed エラーについて説明します。Whoops, looks like something went wrong.と怒られてしまった場合は、このエラーのことを思い出して見てください。


EC-CUBEにアクセスする場合、ブラウザは主にGET、POST、PUT、DELETEという4種類のアクセス方法(Method)を使用します。

「No route found for …」というエラーが見えた時はAdminControllerProvider(管理画面側)FrontControllerProvider(ショップ側)を確認しましよう。この2つのクラスによって、このURLはこのMethodでアクセスしてくださいね〜という内容がずらずらと指定されています。

MethodNotFounrException

No route found for “GET /admin/”: Method Not Allowed (Allow: POST)

上のメッセージの意味は/admin/というURLにGETでアクセスしてきてるけどPOSTしか許可されていませんよ〜という意味です。AdminControllerProviderを確認すれば、アクセス方法の指定を間違って変更してしまったことが分かります。

※閑話休題
EC-CUBEではSymfonyの機能であるRequest::enableHttpMethodParameterOverrideを使用してPOSTでPUTやDELETEを代替しています。PUTとDELETEに関しては使用できないブラウザがあるためで、フレームワークを利用したシステムではよく見られる方法です。

関連するカスタマイズ

管理画面に新規ページとメニューを追加する方法... EC-CUBE3のページは一般的にコントローラとテンプレートが対となっています。 管理画面で新規画面を作成するには、コントローラとテンプレートを作成し、URLとコントローラの紐付け(ルーティング)を指定する必要があります。 コントローラの最後では$app->render()メソッドにより、どのテ...
動的ブロックの作成方法 動的ブロックとは何か? 動的ブロックとはユーザー、時間帯、表示するページなどによって内容を変えることができるブロックです。EC-CUBE3の場合は独立したURIを持った1つの「ページ」だと考えれば本質に近いと思います。 Twigには別のページをテンプレート内に読み込む仕組みがあり、それを応用...
WordPressとEC-CUBE3のデータを連携する方法... WordPressでサイトのベースを作り、カートとしてEC-CUBEを連携させたいという要望がよく寄せられます。サイト内に共存させるだけならともかく、データの連携となると自分でカスタマイズするには敷居が高く感じる方が多いようです。 ただ、システムとしてはWordPressもEC-CUB...
注文確認画面のお届け日を変更する方法... 結論 : ShoppingServiceのgetFormDeliveryDates()を確認する。 config.ymlでdeliv_date_end_maxを設定すると表示される選択肢の日数を変更できる。 注文時に選択可能なお届け日を調整する方法をご紹介します。 この選択可能な日付のリス...

弊社はEC-CUBE公式インテグレートパートナーです。

カスタマイズやプラグイン開発お任せください