падает сайт если добавить обратный слеш к индексному файлу

loveaboveall

Новичок
Всем добрый день, очень нужна помощь. Заранее сорри, если вдруг такая тема уже поднималась, не пинайте ногами просто дайте тогда ссылку, так как я не нашел.

Проблема в следующем:
есть сайт на php который полностью написал я. индексная страница index.php
когда я дописываю обратный слеш, то сайт умирает. например
localhost/site/index.php/

в качетсве сервера - денвер, но он не причем на openserver и голом аппаче теже траблы. .htaccess - непричем уже проверял.
ошибки в консоле выдает следующие:

  • Uncaught SyntaxError: Unexpected token <
  • jquery_1_7_2.js:-1Resource interpreted as Script but transferred with MIME type text/html.
  • jquery_effects_1_8_22.js:1Uncaught SyntaxError: Unexpected token <
  • jquery_effects_1_8_22.js:-1Resource interpreted as Script but transferred with MIME type text/html.
  • jquery_cookie_1_4_0.js:1Uncaught SyntaxError: Unexpected token <
  • jquery_cookie_1_4_0.js:-1Resource interpreted as Script but transferred with MIME type text/html.
  • jquery_disable_text_select.js:-1Resource interpreted as Script but transferred with MIME type text/html.
  • jquery_form.js:1Uncaught SyntaxError: Unexpected token <
  • jquery_disable_text_select.js:1Uncaught SyntaxError: Unexpected token <
  • /site/index.php/:924Uncaught ReferenceError: $ is not defined
  • jquery_form.js:-1Resource interpreted as Script but transferred with MIME type text/html.
  • error.gif:-1Resource interpreted as Image but transferred with MIME type text/html.
  • bg.jpg:-1Resource interpreted as Image but transferred with MIME type text/html.
  • load.gif:-1Resource interpreted as Image but transferred with MIME type text/html.
  • blue_knot2.gif:-1Resource interpreted as Image but transferred with MIME type text/html.
  • gallery.gif:-1Resource interpreted as Image but transferred with MIME type text/html.
  • ukraine.gif:-1Resource interpreted as Image but transferred with MIME type text/html.
  • russia.gif:-1Resource interpreted as Image but transferred with MIME type text/html.
  • vs-blue-256.gif:-1Resource interpreted as Image but transferred with MIME type text/html.
  • hands.gif:-1Resource interpreted as Image but transferred with MIME type text/html.
  • award.gif:-1Resource interpreted as Image but transferred with MIME type text/html.
  • wait_onload.png:-1Resource interpreted as Image but transferred with MIME type text/html.
  • menu.png:-1Resource interpreted as Image but transferred with MIME type text/html.
  • vcss-blue.gif:-1Resource interpreted as Image but transferred with MIME type text/html.
  • faq.gif:-1Resource interpreted as Image but transferred with MIME type text/html.
  • footer.png:-1Resource interpreted as Image but transferred with MIME type text/html.
  • /site/index.php/:934Uncaught ReferenceError: $ is not defined
  • text_field.png:-1Resource interpreted as Image but transferred with MIME type text/html.

Вопрос. В чем проблема?? если запускать без слеша, то все работает отлично! И ни одной ошибки. localhost/site/index.php (без слеша)
Заранее спасибо.
 
Последнее редактирование:

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
Смотреть надо не в консоль, а в логи веб сервера
 

loveaboveall

Новичок
Я понимаю, но в логах пусто! Ничего. Настройка стоит error_reporting(8191); Так, что никаких ошибок с этой стороны нет
 

riff

Новичок
Ты смешной, а почему он не должен умирать? Ты настроил так, что работает /index.php, внезапно... добавил "/" в конец, и хочешь что бы что?
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
loveaboveall, вот уж позволь тебе не поверить, логи веб сервера тебе скажут, что он вернул, 200, или же какой-то 404/500 ответ... Это при условии, что ошибок нету.
 

Crys

Двинутый новичок
[telepat]
http://phpfaq.ru/paths
[/telepat]

  • Uncaught SyntaxError: Unexpected token <
  • jquery_1_7_2.js:-1Resource interpreted as Script but transferred with MIME type text/html.
Вот и посмотри, что по какому адресу у тебя запрашивается jquery и что там вместо него загружается и почему.
 

loveaboveall

Новичок
Вот и посмотри, что по какому адресу у тебя запрашивается jquery и что там вместо него загружается и почему.
Точно, все дело в адресах, когда со слешем то пытается найти по адресу
http://localhost/site/index.php/js/jquery_1_7_2.js
а должно искать по адресу
http://localhost/site/js/jquery_1_7_2.js

путь к папке js указан относительный, но если указать абсолютный то это мало помогает, потому что в денвере да и вообще на других вирт.серверах он начинается не от папки сайта а от папки www. тоже самое и с хостингами, на каждом свои настройки корневого каталога. что делать ?

Обратный слэш - это \
/ - это обычный, прямой слэш.
Ошибся значит.

loveaboveall, вот уж позволь тебе не поверить, логи веб сервера тебе скажут, что он вернул, 200, или же какой-то 404/500 ответ... Это при условии, что ошибок нету.
не знаю куда ты хочешь чтобы я смотрел? У меня в файле .htaccess стоит логирование ошибок в файл
php_flag log_errors on
php_value error_log php_error.log
в файле php_error.log - чисто. лазил по папкам денвера и тоже ничего не нашел.

Ты смешной, а почему он не должен умирать? Ты настроил так, что работает /index.php, внезапно... добавил "/" в конец, и хочешь что бы что?
как настроить по другому? вариант с абсолютным путем не помагает
 

riff

Новичок
потому что в денвере да и вообще на других вирт.серверах он начинается не от папки сайта а от папки www.
Я ещё с самого начала хотел сказать, что независимо от того, какая сейчас у тебя ошибка, твоя главная ошибка в том, что ты на денвере создал неверную структуру папок., но т.к. речь шла о другом, то не стал.

Сайт должен располагаться в своей папке, а не в localhost:
...\home\site\www\ (и здесь index.php, .htaccess, images/, js/ и т.д.)
тогда в браузере он будет открываться как http://site/
и все абсолютные и относительные пути будут работать нормально.
Например "/images/my.jpg" будет указывать на "http://site/images/my.jpg" или "/js/jquery_1_7_2.js" = "http://site/js/jquery_1_7_2.js".
Соответственно и .htaccess будет(должен) иметь нормальную форму. (если он используется, конечно, для rewriterule, например)

тоже самое и с хостингами, на каждом свои настройки корневого каталога. что делать ?
после настройки нормальных путей, .htaccess, и т.п., при условии нормальной работы на локальном компьютере, сайт можно будет переносить на хостинг без проблем, простым копированием.
 
Последнее редактирование:

loveaboveall

Новичок
после настройки нормальных путей, .htaccess, и т.п., при условии нормальной работы на локальном компьютере, сайт можно будет переносить на хостинг без проблем, простым копированием.
допустим мне выделили папку на хостинге. я туда заливаю структуру вида:
site\www\<файлы и папки>
и все пути указываю как /<имя фала>

так ?
 

riff

Новичок
да.
(опять же смотря какой файл. если картинка в html, то да, а если include, то по обстоятельствам.)
 

riff

Новичок
Так. На всякий случай
допустим мне выделили папку на хостинге. я туда заливаю структуру вида:
site\www\<файлы и папки>
ты туда заливаешь только то, что в denwer\site\www\, т.е. только корневые index.php, .htaccess, images/, ...
денверовские две сами папки site\www не надо, они имитируют структуру на хостинге.
 
Последнее редактирование:

loveaboveall

Новичок
Сделал все как посоветовали и все отлично заработало, но тут появилась новая проблема. Перевожу ссылки в дружественные с помощью mod rewrite
Сайт падает, если в шаблоне ставлю слеш - "/"

Например:
есть ссылка вида
index.php?page=service&id=145
ее нужно перевести в ссылку вида
service/145

правило RewriteRule ^([a-z]+)/([0-9]+)$ index.php?page=$1&id=$2 [L]
вешает сайт

причина в слеше но почему ?

еще пример
вот такое правило
RewriteRule ^([a-z]+)/?$ index.php?page=$1 [L]
следовательно ссылка вида
servises
работает, а если добавить слеш
servises/
то сайт падает!
 

AnrDaemon

Продвинутый новичок
RewriteLog on
RewriteLogLevel 2

Понятие "отладка" не ограничивается языками программирования.
 

loveaboveall

Новичок
работает если к путям добавить слеш вначале например /images/ но перестают работать функции работы с файлами или директориями, которые не понимают путь, кторый начинается со слеша
 
Сверху