バグ原因特定しました

コントローラーがサブディレクトリに置かれた場合、まずファイルの存在がチェックされます。
次にsegmentが1つの場合、設定されているデフォルトコントローラーの存在をチェックします。
つまりサブディレクトリにコントローラーがある場合、通常のデフォルトコントローラーをみつけにいき、無くても404エラーを返してないんです
なのでディレクトリの存在のみしらべてるのと同じですね

デフォルトコントローラーがサブディレクトリ以下にない場合エラーを返すようにしました