我正在使用带有phalcon PHP和AngularJs的简单应用程序。我试图通过AJAX POST请求从angularJS Controller 调用我的phalcon PHP Controller 。

 $http.post('/ControllerName/', {params});

我得到



我认为我的请求被路由到我的公用文件夹,而我的php Controller 位于“非公用”文件夹中。

这些是我拥有的.htaccess规则
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule  ^$ public/    [L]
RewriteRule  (.*) public/$1 [L]</IfModule>

并在公用文件夹中:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?_url=/$1 [QSA,L]</IfModule>

我究竟做错了什么?

最佳答案

好的,我的问题在于我认为的重写机制。
首先,在httpd.conf文件中,我必须:

  • 在相关目录中将“AllowOverride None”更改为“AllowOverride All”。
  • 我的“mod_rewrite”已禁用,因此我必须取消注释该行:“#
    LoadModule rewrite_module modules/mod_rewrite.so“
  • 关于php - 通过Ajax调用Phalcon php MVC Controller ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29054701/

    10-11 07:51