Не могу понять, почему так происходит:
реализую ЧПУ (не станок, а ссылки
), анализируя урл:
1. беру урл:
http://examle.com/work/jabascript/12-prime-primer/
2. его REQUEST_URI — work/jabascript/12-prime-primer/
3. разбиваю по слэшу в массив $arr: work, jabascript, 12-prime-primer.
проверяю: если count($arr) == 1 — то это раздел сайта, если count($arr) == 2, то это категория раздела, если count($arr) == 3, это публикация.
все прекрасно работает до тех пор, пока на подключаю jquery с пост-запросом.
$.post("_controller/blah-blah.php",
{data: "post"},
function(data){
$(".post").html(data);
});
и начинаются приколы.. count($arr) внезапно становится равно 4. т.е "_controller/" четвертый "элемент" REQUEST_URI.
вопрос 1: какого черта он там делает?
вопрос 2: я понимаю, что REQUEST_URI содержит путь от корня до скрипта (файла) + параметры.. но с чего вдруг он берёт в себя и обращения к файлам, которые просто физически быть не могут по получившемуся пути, т.е. в итоге получается:
http://examle.com/work/jabascript/12.../blah-blah.php
Хотя по логике и заданному .htacces'у обращение к _controller/blah-blah.php должно идти от корня. т.е:
http://examle.com/_controller/blah-blah.php.
(правило htaccess'a — к существующим файлам обращаться из корня, несуществующие запросы отправлять на index.php)