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エラーページのカスタマイズは以外と簡単です。ぜひお試しください。