Подскажите. С главной страницы сайта вызываю класс роутинга из подключённого файла, если роутинг показывает, что мы на главной странице index.php то при подключении скриптов js они работают. А если мы в директории то работает только php.. Пример --------------idnex.php------------ Больше на index ни чгео нету, всё остальное в classroute require_once "classroute.php"; $route = new route(); $route->_uri(); --------------classroute.php------------ public function index_php_solo() //Если прошёл за прос на просмотр index.php { $site = new csite(); $site->addHeader("model/model_index.php", "usermenu.php"); $site->render(); ?><script type="text/javascript" src="/js/view/usermenu.js"></script><? ?><script type="text/javascript" src="/js/view/login.js"></script><? } То есть из classroute.php вызвали класс который формирует страницу index.php. Вот так всё работает! А если тоже самое вызвать только при получении категории site.ru/news/2 public function opencategorybyid($categoryname, $categoryid) //Если прошёл за прос на просмотр id { $site = new csite(); $site->addHeader("model/model_index.php", "usermenu.php"); $site->render(); ?><script type="text/javascript" src="/js/view/usermenu.js"></script><? ?><script type="text/javascript" src="/js/view/login.js"></script><? } Вот так не работает js, то есть js работает только на index.php, если мы в категории, то не работает. Вообщем как быть... думал из за файла .htaccess пример .htaccess на index.php Options +FollowSymlinks RewriteEngine On RewriteRule ^$ /index.php [R=301,L] RewriteCond %{SCRIPT_FILENAME} !-f RewriteCond %{SCRIPT_FILENAME} !-d RewriteRule . /index.php [QSA,L] DirectoryIndex index.php Options All -Indexes И пример .htaccess в каталоге js Options -Indexes (вообще то он на половину пуст) Код вырезал кусками... то есть public function index_php_solo() и public function opencategorybyid работают корректно. PHP мне тут и не нужно, в плане заполнения станицы, это тест.
Вот класс страницы которая открывается при проходе на site.ru/news/2 class model { public function model_index_php() { ?><!doctype html> <html> <head> <script type="text/javascript"src="js/jquery-2.0.0.js"></script> <script type="text/javascript"src="js/ajaxmethod.js"></script> <script type="text/javascript"src="js/popupregistration.js"></script> <script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script> <link href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" rel="stylesheet" type="text/css"/> <link rel="stylesheet" type="text/css" href="/css/style.css"> </head> <body id="body"> <div class="maindiv" id="maindiv"> <div class="headermaindiv" id="headermaindiv"> </div> <div class="bodymaindiv" id="bodymaindiv"> <div class="rightpanel" id="rightpanel"> <div id="login" style=""> </div> <div id="usermenu" style=""> </div> </div> <div id="edituserindexdiv" style=""> </div> <div id="newsindexdiv" style="float:left"> </div> </div> </div> </body> </html><? } } прохожу по ссылке, страница загружается успешно, смотрю код страницы, все хорошо. Форма страницы верна. Но js ругается, вот ошибки... Что то не то он делает с js. Хотя в коде браузера всё верно. Error 404, это сообщение которое прописано в логике PHP мною, что оно тут делает? Не понятно, логика проходит успешно.
ну вот и объяснение! страница не может получить js, потому что ты используешь относительные пути. пока ты в корне - все нормально. ушел из корня - js ищется в неправильном месте Код (Text): <script type="text/javascript"src="js/jquery-2.0.0.js"></script> а надо Код (Text): <script type="text/javascript"src="/js/jquery-2.0.0.js"></script> ну и во всех аналогичных местах также Добавлено спустя 3 минуты 5 секунд: а дело в том, что файл js не найден, потому что путь указан некорректно. в итоге mod_rewrite передает управление на твой index.php. и получается что вместо файла с javascript у тебя подключается страница с твоим запрограммированным сообщением об ошибке
artoodetoo спасибо вам большое, голову ломал, ни когда бы не подумал, что из за '/' не поймёт путь. Теперь всё работает!
незачто. заведи привычку заглядывать в логи апача. там видно к каким адресам были обращения! чуть что пошло не по плану -- сразу лезь в логи