EC-CUBE3では.htaccessにて実際にファイルが存在しない場合全てindex.phpへリライトを行っているため、基本的に404エラーが発生しません。
しかし想定していないURLへのアクセスには404 Not Foundを出したいということで、エラーハンドリングはApplication.phpで行っています。
このコードを修正するか、またはプラグインで上書きしてやることで挙動の変更が可能です。
src/Eccube/Application.php
$this->error(function(\Exception $e, $code) use ($app) { if ($app['debug']) { return; } switch ($code) { case 403: $title = 'アクセスできません。'; $message = 'お探しのページはアクセスができない状況にあるか、移動もしくは削除された可能性があります。'; break; case 404: $title = 'ページがみつかりません。'; $message = 'URLに間違いがないかご確認ください。'; break; default: $title = 'システムエラーが発生しました。'; $message = '大変お手数ですが、サイト管理者までご連絡ください。'; break; } return $app->render('error.twig', array( 'error_title' => $title, 'error_message' => $message, )); });
既定ではerror.twigを使用します。このファイルに$code変数を渡してtwig内で切り分けても良いですし、エラーコードによってerror.404.twigなどを用意し別々にrenderしてやっても良いですね。
EC-CUBE3エラーページのカスタマイズは以外と簡単です。ぜひお試しください。
EC-CUBEに関するお問い合わせ
[重要]現在公式にセキュリティサポートが切れていないPHPは8.1以上、MySQLは8.0以上で、対応しているEC-CUBEバージョンは4.2以上です。古いEC-CUBEを使っている方は適切なタイミングでバージョンアップをご検討ください。