2014-03-01 70 views
2

我正在使用WAMP,jQuery和CodeIgniter。我已經完成創建.htaccess刪除index.php,它正常工作。mod_rewrite不能使用jQuery.ajax

但使用$ .ajax不起作用。它必須訪問index.php。我究竟做錯了什麼? ?

下面是.htaccess文件

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase/

    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 

    RewriteRule ^(.*)$ index.php?/$1 [L] 
</IfModule> 

這裏是主叫

var url = base_url + 'spider/ajax_trade_open/'; 

//var url = base_url + 'index.php/spider/ajax_trade_open/'; // this work 

$.ajax({ 
    'url': url, 
    'type': 'GET', 
    'success': function (data) { 
    alert('success'); 
    }, 
    'error': function (obj, title, ex) { 
    alert(title + ': ' + ex); 
    } 
}); 

謝謝。

+0

在這個規則中'重寫規則^ $的index.php/$ 1 [L]'我想你需要更換'的index.php ?/ $ 1' with'index.php/$ 1' – barell

回答

0

現有規則之前添加此規則:(。*)?

RewriteRule ^(index\.php/(.+)$ $1?/$2 [L,NC,QSA] 
+0

謝謝您的建議。但它仍然不起作用。 – guneverdie

+0

這是您的評論調整後的htaccess。我究竟做錯了什麼? – guneverdie

+0

RewriteEngine敘述在 RewriteBase/ 的RewriteCond%{REQUEST_FILENAME}!-f 的RewriteCond%{REQUEST_FILENAME}!-d 重寫規則^(指數\ .PHP /(.+)$ $ 1嗎?/ $ 2 [L,NC,QSA] RewriteRule ^(。*)$ index.php?/ $ 1 [L] guneverdie