我正在尝试向我的应用程序添加路由,以便我可以将其与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"
当进行ajax调用时,对/ backend / api / SomeCommand,会产生以下错误:
消息:指定的控制器无效(后端)
array (
'controller' => 'backend',
'action' => 'maestro',
'module' => 'default',
)
你可以看到模块已被设置为“默认”,而不是“后端”,而控制器是“后端”而不是“api”,可能是什么导致了这个?
答案 0 :(得分:0)
看起来你在这个匹配请求之后定义了另一个更通用的路由。
您需要按照最少到最具体的顺序定义您的路线,通常会通过存在backend/api
前缀等固定字词来提高特异性。
请参阅Basic Rewrite Router Operation,特别是
注意:反向匹配
路由按相反顺序匹配,因此请确保首先定义最常用的路由。
仅供参考:您不需要使用正斜杠
为路线添加前缀