Чтобы никогда не возникало недоразумений нужно использовать абсолютные ссылки, т.е. начинать их с корня /. Добавлять /index.php или нет, должно настраиваться в серверной части и именно там должны формироваться правильные ссылки. Сугубо мое мнение.
Как вариант можно определить глобальную переменную var PATH_PREFIX = '/index.php' и везде писть тип $.get(PATH_PREFIX + url). Ну а если уж хочется сделать это прозрачно то нужно переопределять $.ajax метод. Например:
(function($){
var ajax = $.ajax;
$.ajax = function(url, options){
if ( typeof url === "object" ) {
options = url;
}
else
{
options = options || {};
options.url = url;
}
options.url = change_url(options.url);
return ajax(options);
}
}(jQuery));
если передать в $.ajax '/index.php/site/request' мы получим верный результат. Но если сайт находится не в корне, а папке
это всегда будет работать правильно. А вот index.php/site/request — нет.