Apache и javascript

Автор Андрей_1, 24 июля 2015, 03:14:02

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Андрей_1

У меня на сайте есть страницы с использованием ссылок на js. Если загружаю страницу html локально скрипт работает, а при загрузке через сайт, т.е захожу по IP адресу этот скрипт не работает. Получается Apache как-то блокирует этот скрипт, Как исправить?

ihammers

Смотрите логи apache2, настройки вашего браузера. Скорей всего проблема в настройках браузера. Попробуйте посмотреть исходный код на странице, если там будет js в htlm странице, то apache2 его вам передал и ваш браузер его как-то некоректно отрабатывает.
Debian GNU/Linux Bookworm, LXQt/OpenBox: AMD Ryzen 5 5600G / 64Gb RAM
_______________________________
Debian GNU/Linux Bookworm, без графики: AMD Phenon X4 / 16Gb RAM
_______________________________
Debian GNU/Linux Bookworm, LXQt/OpenBox: Acer Aspire One 722 AMD C60 / 8Gb RAM / ATI HD6290

endru

js не обрабатывается на web сервере. проблема в самом сайте.

Андрей_1

Так причём браузер? Я локально открываю файл тем же браузером  - всё работает. А если набираю в браузере http://127.0.0.1/ , то не работает. Когда открываю исходный код, нажимаю на ссылку к скрипту выдаёт это:
Открыть содержимое (спойлер)

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /javascript/jquery.magnifier.js was not found on this server.</p>


<address>Apache/2.4.10 (Debian) Server at 127.0.0.1 Port 80</address>
</body></html>

[свернуть]
А локально же работает!

ogost

притом, что локально пути совпадают, а с айпишника пути не совпадают. смотрите коды сайта, правильно ли они прописаны, правильно ли всё разложили по папкам, доступ к ним проверьте.

Андрей_1

#5
Вообще было так - изначально всё работало, потом поставил PHP, далее начал изучать php, но к этим страницам не возвращался, уверен был что всё работает. А вчера мне сказали что у меня фигня какая-то. Ну вот что я... вот к примеру эта страница моего сайта -  http://109.195.67.158/foto_old.html . Путь там к скрипту не менял. Там скрипт, который увеличивает картинку.

Cообщение объединено 24 июля 2015, 06:58:11

Доступ проверил - чтение всем.

Cообщение объединено 24 июля 2015, 07:20:13

Вот похоже понял. Почему-то в свойствах папки, где скрипт указано что доступ на чтение всем, а реально не пускает в папку через сайт. Буду смотреть права!

Cообщение объединено 24 июля 2015, 08:05:15

странно как-то получается. Папка, где лежали скрипты называлась javascript, права менял всяко и полный доступ к ней давал, а апач в неё всё-равно не пускает. Создал другую папку, перетащил все скрипты в новую папку. В новую папку доступ есть. Далее удаляю папку javascript, а новую переименовываю в javascript и опять апач в неё не пускает. Пришлось сделать другую папку и на страницах менять ссылку на скрипт. У апача наверное слово javascript - запретное! Вероятно это с последними обновлениями пришло, месяц назад работало точно!

PeterBumblebee

Да при чём тут апач вообще?
Апачу как-то без разницы, он javascript не понимает, для него это обычные статические файлы.
Ему хоть hrenoscript можно скормить, скушает, инфа 146%.
Ему главное, чтоб файл был доступен.
И физически чтоб он был по нужному пути, и чтоб права на чтение к нему были у апача.
Открывайте инструменты разработчика в браузере и смотрите ошибки. Либо 404 - файл не найден, либо 403 - нет прав на чтение.
Who the hell cares?

Андрей_1

#7
Попробую ради спортивного интереса. Но права и доступ проверял несколько раз. Я описал как сделал. При переименовании права не могут же меняться

Cообщение объединено 24 июля 2015, 13:32:41

Попробовал. создал в корне сайта пустую папку javascript - пытаюсь зайти в браузере набираю 127.0.0.1/javascript выдаёт ошибку 403. You don't have permission to access /javascript/ on this server. Права проверил чтение есть всем.
Переименовываю, убираю букву t - javascrip . В браузере в папку 127.0.0.1/javascrip заходит. Как ещё не может быть? Кто блокирует?


Андрей_1

А где этот файлик может быть? в корне сайта его нет. Я читал про него, когда с php разбирался, писали что он в корне сайта должен лежать!

PeterBumblebee

Цитата: Андрей_1 от 24 июля 2015, 14:36:32в корне сайта его нет.
Он с точечкой в начале, может быть он есть, просто по умолчанию файловые менеджеры обычно скрывают файлы с точечкой  :)
Who the hell cares?

Андрей_1

Конечно с точечкой!!! В Dolphin нажимаем F8 и видим все с точечками. У меня нет этого файла.

PeterBumblebee

Проверил у себя, разобрался.  :)

Для Apache 2.4:
sudo a2disconf javascript-common
sudo service apache2 reload


Оказалось, что у нас у всех по дефолту папка javascript является элиасом на /usr/share/javascript/, вот в чём фишка.  :)
Если  Apache 2.2, тогда разбираться с файлом /etc/apache2/conf.d/javascript-common.conf, либо удалить файл, либо изменить/закомментировать в нём элиас, потом так же service apache2 reload. В остальных версиях апача - не в курсе.  :)
Who the hell cares?