0

私は htaccess を書き直しましたが、どういうわけか私の ajax 呼び出しはコントローラーのそれぞれの関数に決して到達しません。代わりに、バグライト コンソールから、すべての HTML コードを表示します。私はコードイグナイターについて書いていますが、この件に関しては完全に疲れ果てています。助けてください!

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

    <IfModule !mod_rewrite.c>       
        ErrorDocument 404 /index.php
    </IfModule> 

ビューでは、javascript を添付しました。

$('#logoutbtn').click(function(){

         $.ajax({
            type:"POST",
            url: "/fbcontroller/killsession",
            datatype: "json",
            success: function(){
                alert("Logout");
            }
         });
    });

バグライトに表示されるエラー。

POST /fbcontroller/killsession 404 Not Found 416ms  

ご参考までに、

http://localhost/fbcontroller/killsession直接アクセスできます

4

1 に答える 1

0

このルールは、正規表現が間違っているために問題があるようです。

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)\?*$ index.php/$1 [L,QSA]

リテラルの 0 個以上のインスタンスと一致させようとしています??で一致しません

そのルールを次のように置き換えます。

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
于 2013-10-16T10:20:44.130 に答える