0

アプリケーションにルートを追加して、ajax呼び出しで使用できるようにしようとしています。

これが私のapplication.iniにあるものです

;Routes
resources.router.routes.products.route = "/backend/api/:command"
resources.router.routes.products.defaults.module = "backend"
resources.router.routes.products.defaults.controller = "api"
resources.router.routes.products.defaults.action = "index"

/ backend / api / SomeCommandに対してajax呼び出しが行われると、次のエラーが生成されます。

メッセージ:無効なコントローラーが指定されました(バックエンド)

array (
  'controller' => 'backend',
  'action' => 'maestro',
  'module' => 'default',
)

モジュールが「バックエンド」ではなく「デフォルト」に設定されており、コントローラーが「API」ではなく「バックエンド」に設定されていることがわかりますが、これは何が原因でしょうか。

4

1 に答える 1

0

このルートの後に、リクエストに一致する別のより一般的なルートが定義されているようです。

ルートは、最も具体的でないものから最も具体的なものの順に定義する必要があります。通常、backend/api接頭辞などの固定用語が存在することで、具体性が向上します。

特に、基本的なリライトルーターの操作を参照してください。

注:リバースマッチング

ルートは逆の順序で照合されるため、最も一般的なルートが最初に定義されていることを確認してください。

参考:ルートの前にスラッシュを付ける必要はありません

于 2011-08-25T05:31:42.070 に答える