Grapnel.jsというルーティング ライブラリを使用しています。の形式で URLindex.php#something/something
を取得するので、htaccess を使用してそれに書き換え/something/something
ています。something
しかし、私は 2 ~ 3 個の s を使用できるようにしたいので、QSA
フラグを使用してクエリ パラメータとして追加します。
問題は、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);
});
});