使用ajax时/ app / webroot中文件的奇怪行为

时间:2016-06-07 15:20:32

标签: ajax cakephp cakephp-2.0

在我的cakePHP v2。*我有一个完全正常工作的应用程序,它在/app/webroot/lib/upload/process.php

中的文件中执行ajax发布

我现在将网站移动到新服务器,当我将ajax帖子发送到同一个文件时,错误的控制器错误。所以我的第一个想法是不知何故mod_rewrite没有配置......但最奇怪的是,当我从浏览器访问文件时没有显示错误。所以只有ajax调用

顺便说一句。我使用ISPConfig作为管理控制台在Ubuntu 14.04服务器上运行该站点

我得到的错误是:

Missing Controller
Error: LibController could not be found.
Error: Create the class LibController below in file: app/Controller/LibController.php

ajax脚本是:

$('#my-upload-form').submit(function() {
    $(this).ajaxSubmit(options);
    return false;
});

表格如下:

<form action="/lib/upload/process.php" method="post" enctype="multipart/form-data" id="my-upload-form">

控制台:

Request URL:https://www.bukadoo.com/lib/upload/process.php
Request Method:POST
Status Code:404 Not Found
Remote Address:52.37.22.4:443

根目录中的.htaccess:

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    RewriteRule ^$ app/webroot/ [L]
    RewriteRule (.*) app/webroot/$1 [L]
</IfModule>

webroot文件夹中的.htaccess:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>

1 个答案:

答案 0 :(得分:0)

最后这是一个服务器问题。在不同的服务器上安装应用程序之后,一切正常。

经过长时间的搜索,我发现我需要将ISPConfig中的设置从Fast-CGI设置为Mod-PHP