2014-03-01 32 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