通过ajax调用phalcon php MVC控制器
我正在使用phalcon PHP和AngularJs的简单应用程序。我试图通过AJAX POST请求从angularJS控制器调用我的phalcon PHP控制器通过ajax调用phalcon php MVC控制器,php,ajax,angularjs,model-view-controller,phalcon,Php,Ajax,Angularjs,Model View Controller,Phalcon,我正在使用phalcon PHP和AngularJs的简单应用程序。我试图通过AJAX POST请求从angularJS控制器调用我的phalcon PHP控制器 $http.post('/ControllerName/', {params}); 我得到 404在此服务器上找不到请求的URL/ControllerName/ 我认为我的请求被路由到我的公共文件夹,而我的php控制器位于非公共文件夹中 这些是我的.htaccess规则 <IfModule mod_rewrite.c>
$http.post('/ControllerName/', {params});
我得到
404在此服务器上找不到请求的URL/ControllerName/
我认为我的请求被路由到我的公共文件夹,而我的php控制器位于非公共文件夹中
这些是我的.htaccess规则
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]</IfModule>
重新启动发动机
重写规则^$public/[L]
重写规则(.*)public/$1[L]
在公用文件夹中:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?_url=/$1 [QSA,L]</IfModule>
重新启动发动机
重写cond%{REQUEST_FILENAME}-D
重写cond%{REQUEST_FILENAME}-F
重写规则^(.*)$index.php?\u url=/$1[QSA,L]
我做错了什么?假设您使用的是phalcon的默认工作部署,我建议您检查尾部斜线,有一种手动声音:anchor#处理额外的尾部斜线 您还可以使用自定义脚本测试路由:之前相同的url,锚定#测试路由 。。。或通过监听dispatcher fordispatch:beforeDispatchLoop,您可以深入路由系统,试图找到故障所在。这里有一段代码,您可以在事件函数中看到框架如何猜测控制器和操作名称:
//Possible controller class name
$controllerName = Text::camelize($dispatcher->getControllerName()) . 'Controller';
//Possible method name
$actionName = $dispatcher->getActionName() . 'Action';
。。。然后,它们应该存在,以便成功路由,顺便说一句,参考示例代码好的,我的问题是我认为的重写机制。 首先,在httpd.conf文件中,我必须: