1

我正在使用一个名为Grapnel.js的路由库。它采用 url 的形式index.php#something/something,所以我使用 htaccess 来重写/something/something它。但我希望能够有 2-3 somethings,所以我使用QSAflag 将其添加为查询参数。

问题是 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);
    });
});
4

1 回答 1

1

你可以试试这个代码:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ /#$1 [NE,R,L]
于 2013-09-24T07:39:02.987 回答