Jquery ajax()弄乱了我的.htaccess mod_rewrite

我正在使用Jquery(Google托管的1.7.1 jquery.min.js代码)执行一个简单的AJAX()请求

代码非常简单:

$.ajax({ type: "POST", url: "../inc/ajax_msgread_sendPM.php", data: "fromuserid=&pmSubject=&pmBody=" + pmReply, success: function(data){ $("#showSuccess").show("fast"); $("#resultResponse").html(data); } }); 

该文档的mod_rewrite .htaccess是:

 RewriteRule ^messages/read/([^/]+)/([^/]+)/?$ /msgread.php?usernam=$1&keynode=$2 [QSA,L] 

当我因某种原因查看$ resultResponse时,Ajax一直希望将$ 1变为’inc’,因此任何使用URL中的$_GET["usernam"]无关(或相关)mySQL查询都会返回’inc’

为什么会这样? 我的脚本和mod_rewrite之间没有关系。 脚本(或站点上的任何位置)没有名为“usernam”或“1”的变量。

Firebug没有给出任何帮助。

建议好吗?

更新:

我看到问题来自哪里..在ajax jquery代码中:

url:“../inc / ajax_msgread_sendPM.php”,

“inc”一直被设置为用户名,因为它的位置基于mod_rewrite规则…我需要以某种方式将其从mod_rewrite中排除…只是不确定如何解决这个问题

只要您网页的当前url是

 www.domain.com/messages/read/username/NQ 

并使用相对路径 – 它被重写为

 www.domain.com/messages/read/username/inc/ajax_msgread_sendPM.php 

这绝对不是你想要的。 最简单的解决方案是将ajax端点url更改为:

 url: "/inc/ajax_msgread_sendPM.php",