Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   REQUEST_URI и $.post (https://javascript.ru/forum/server/26629-request_uri-i-%24-post.html)

T-sh 15.03.2012 17:19

REQUEST_URI и $.post
 
Не могу понять, почему так происходит:

реализую ЧПУ (не станок, а ссылки :) ), анализируя урл:

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)

T-sh 15.03.2012 17:28

закрыто, мать его :)
нашел "проблему", может кому пригодится:

javascript'y, а в частности jquery, плевать на правила htaccess'а и он ломится по адресу "текущий урл+то, что в запросе"... абсолютные пути а также "../../../_controllet/blah-blah.php" спасают.

всё-таки форумы хорошее дело.. стоит перечитать свой пост и решение приходит в голову :)))

vasa_c 15.03.2012 18:52

а пгичом тут, таки, htacess?

T-sh 15.03.2012 18:54

Цитата:

Сообщение от vasa_c (Сообщение 163373)
а пгичом тут, таки, htacess?

он не причем.. просто фильтрует запросы на предмет наличия файла/директории.


Часовой пояс GMT +3, время: 01:30.