我正在使用一个名为Grapnel.js的路由库。它采用 url 的形式index.php#something/something
,所以我使用 htaccess 来重写/something/something
它。但我希望能够有 2-3 something
s,所以我使用QSA
flag 将其添加为查询参数。
问题是 htaccess 显然应用于 ajax 调用,并导致无限循环。我试过使用
RewriteCond %{REQUEST_URI} !^/file.php
RewriteRule ^(.+)$ /#$1 [NE,R,QSA,L]
和
RewriteRule ^[^file](.+)$ /#$1 [NE,R,QSA,L]
Javascript是:
router.get('*', function(req){
var first = req.params[0];
var parts = first.split("/");
var len = parts.length;
$.ajax({
url: 'file.php',
data: {
parts: parts,
len: len
}
}).done(function(data) {
$('#output').html(data);
});
});