受.htaccess影响的ajax文件

时间:2015-06-08 13:37:53

标签: php ajax .htaccess

这是我的.htaccess文件:

# Turn rewrite engine on
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

### Rewrite url ###
# Basic rewrite for pages in the admin area
RewriteRule ^admin/([^/]*)/([^/]*)$ /private/admin/index.php?plugin=$1&page=$2 [L,QSA]

我的javascript:

$(document).ready(function() {
    var $post = '/private/admin/js/ajax.php';
    $('#email').keyup(function() {
    $.post($post, {email_valid : val}, function(answer) {
                    console.log(answer); // Another pot after this, depending on the answer
   }
});

所以我想在domain.com/admin/users/register中说我想检查电子邮件是否有效或已经与PHP一起使用。

当我拥有上面的$post时,我收到以下错误:POST domain/private/admin/js/ajax.php 500 (Internal Server Error);

更新 整个500错误:

POST http://domain.com/private/admin/js/ajax.php 500 (Internal Server Error)
n.ajaxTransport.k.cors.a.crossDomain.send @ jquery.js:8630
n.extend.ajax @ jquery.js:8166
n.each.n.(anonymous function) @ jquery.js:8311(anonymous function) @ lr.js:41
n.Callbacks.j @ jquery.js:3099
n.Callbacks.k.fireWith @ jquery.js:3211
x @ jquery.js:8264
n.ajaxTransport.k.cors.a.crossDomain.send.b @ jquery.js:8605

lr.js:41是其他帖子发生的地方,但基本相同,只是帖子名称不同。

当我将路径更改为:/admin/js/ajax.php时,我收到的错误消息为:The plug-in: js and or the page: ajax.php don't exists。此错误消息位于admin文件夹的index.php中,其中包含其他文件。我知道ajax.php文件的工作原理和以前一样。在我使用.htaccess文件之前它确实有效。

文件结构:

enter image description here

在我问这个问题之前,我已经检查了其他问题:

我希望有人可以帮我解决这个问题。提前致谢

1 个答案:

答案 0 :(得分:1)

/private/文件夹中尝试此.htaccess:

Options -MultiViews
RewriteEngine on
RewriteBase /private/

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Basic rewrite for pages in the admin area
RewriteRule ^admin/([^/]+)/([^/]+)/?$ admin/index.php?plugin=$1&page=$2 [L,QSA,NC]