Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Ajax无法使用此.htaccess_Php_.htaccess_Jquery_Url Rewriting_Permalinks - Fatal编程技术网

Php Ajax无法使用此.htaccess

Php Ajax无法使用此.htaccess,php,.htaccess,jquery,url-rewriting,permalinks,Php,.htaccess,Jquery,Url Rewriting,Permalinks,我正在用PHP和MVC开发一个CMS。我有以下权限: <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> 我试过: “./aj

我正在用PHP和MVC开发一个CMS。我有以下权限:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
我试过:

“./ajax/login.php”

路径+视图+主题+“/ajax/login.php”

我的文件夹结构是:

view
    themes
        standar
            ajax
                login.php
            js
                ajaxInteractions.js
            index.phtml

如评论中所述,您需要检查您的路径,或仅使用以下绝对路径:

$.post
(
    "/view/themes/standar/ajax/login.php",
    {
    u:Base64.encode(user),
    p:Base64.encode(password),
},
    function(data)
    {

    },
    "json"
);
还有一件事;像这样分散代码并不总是最佳做法(这对于PHP和普通JS调用很好)。对于这些类型的呼叫,请尽量使其更加集中:

$.post( "/view/themes/standar/ajax/login.php", {
    u:Base64.encode(user),
    p:Base64.encode(password),
}, function(data) {
    /** do your stuff **/
}, "json" );

如评论中所述,您需要检查您的路径,或仅使用以下绝对路径:

$.post
(
    "/view/themes/standar/ajax/login.php",
    {
    u:Base64.encode(user),
    p:Base64.encode(password),
},
    function(data)
    {

    },
    "json"
);
还有一件事;像这样分散代码并不总是最佳做法(这对于PHP和普通JS调用很好)。对于这些类型的呼叫,请尽量使其更加集中:

$.post( "/view/themes/standar/ajax/login.php", {
    u:Base64.encode(user),
    p:Base64.encode(password),
}, function(data) {
    /** do your stuff **/
}, "json" );

我想我们必须看到你的javascript。显示你的ajax调用,但最有可能的是,你需要添加一个
/
,或者更具体地检查你的ajax调用路径。同意@DainisTools…另外,最好直接在新的浏览器窗口中输入ajax URL。然后你可以检查发生了什么。小心相对URL-浏览器从父页面的URL(这是虚拟的,可以包含将放在JS前面的文件夹)组合它们。这会破坏功能我希望你不是Base64编码,因为你认为它是安全的…密码应该只通过加密通道(https)发送。是一个内部CMS,我只使用Base64通过post进行通信。我想我们必须看到你的javascript。显示你的ajax调用,但很可能,您需要添加一个
/
或更具体地检查您的ajax调用路径。同意@DainisAbols…另外,将ajax URL直接输入新的浏览器窗口也是一个好主意。然后你可以检查发生了什么。小心相对URL-浏览器从父页面的URL(这是虚拟的,可以包含将放在JS前面的文件夹)组合它们。这会破坏功能我希望你不是Base64编码,因为你认为它是安全的…密码只能通过加密通道(https)发送。是一个内部CMS用于工作,我只使用Base64通过post进行通信。问题是htaccess,使用该.htaccess所有url或url指向的路径,转到域根目录下的index.php。如果直接指向某个文件,则不会。如果找不到其他有效的url,它会将所有内容重定向到
index.php
。谢谢,它很管用。我正在测试你的代码,我的folfer名为standar,whithout,但现在可以工作了。问题是htaccess,有了它。htaccess你用url指向的所有url或路径都指向域根目录上的index.php。如果你直接指向某个文件,则不会。如果找不到其他有效的url,它会将所有内容重定向到
index.php
。谢谢,它很管用。我在测试你的代码,我知道folfer叫standar,虽然没有,但现在可以工作了。