Елена Б.
6863 сообщения
#14 лет назад
Есть проблема с одним, очень даже распространенным, плагином.
Сводится к тому, что не открываются файлы .php - выдается ошибка 404.

Если не темнить , то /wp-content/plugins/nextgen-gallery/admin/edit-thumbnail.php. Как уже сказала, 404 . Хотя файл, вот он родненький.

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

Эксперименты показали, что файлы не выдаются в том случае, если расширение внесено в строку "AddHandler x-httpd-php5all .php .php3 .php4 .php5 .phtml .html # phpvs v5all" (в том числе новоизобретенные сочетания букв ). Ну а в отсутствие этой строки банится стандартный набор. Я не очень хорошо понимаю алгоритм работы этой строки. Знаю только ее прямое назначение. Поэтому прошу комментариев.

Вордпресс 3.0, нгг 1.6.0, установлены плагины All in One SEO Pack, Seo-Without-Category (из того, что может влиять на обработку путей к файлам).

Владелец сайта - наш человек, форумский. Так что давайте думать всем миром ))))))))))))))))))))))))))))
Роман Беляев
16382 сообщения
#14 лет назад
Остальное работает? Права на файл проверили?
Елена Б.
6863 сообщения
#14 лет назад
644, если расширение не .php, и не внесено в AddHandler, то страница открывается.
Роман Беляев
16382 сообщения
#14 лет назад
X-httpd-php5all вот тут мне кажется all - лишнее. Или там потерялся пробел.
Елена Б.
6863 сообщения
#14 лет назад
Неа... Не так просто...
Роман Беляев
16382 сообщения
#14 лет назад
Тогда наверное придется обнажить конфиг
Антон С.
1316 сообщений
#14 лет назад
floppox, я с радостью что-то посоветовал , но я так и не понял в чем проблема.
Причем тут AddHandler?? Тогда вообще не должен открываться WP ))
Евгений О.
2989 сообщений
#14 лет назад
Использование AddHandler в htaccess может быть запрещено настройками сервера. Тогда это можно прописать только из панели управления сервером.
Также 404 ошибка возникает если парсер не смог разобрать php файл. Например синтактическая ошибка в файле.
Евгений О.
263 сообщения
#14 лет назад
Цитата ("floppox"):
Стоит пенять в первую очередь на сервер или на движок???


Начать лучше с файла error_log (или того, который Вы установили в конфигурации Апач директивой ErrorLog) - обычно, там пишется более-менее детальная диагностика.

Цитата ("floppox"):
Эксперименты показали, что файлы не выдаются в том случае, если расширение внесено в строку "AddHandler x-httpd-php5all .php .php3 .php4 .php5 .phtml .html # phpvs v5all" (в том числе новоизобретенные сочетания букв ). Ну а в отсутствие этой строки банится стандартный набор. Я не очень хорошо понимаю алгоритм работы этой строки. Знаю только ее прямое назначение. Поэтому прошу комментариев.


Я не знаю что делает обработчик x-httpd-php5all (наверное, об этом можно почитать в документации), но в качестве быстрого эксперимента, Вашему файлу можно дать права доступа 755. Но лучше, конечно, сначала посмотреть error_log.
Елена Б.
6863 сообщения
#14 лет назад
Illarion_SA,
За сегодня лога вообще нет (у меня доступ только по фтп, к архивам).
Кратковременный эксперимент ничего не дал.

Цитата ("Enkvist"):
Причем тут AddHandler??
Да я вот тоже не понимаю, при чем. Думала, быстренько решу все некрасивым, но действенным обходным маневром. Переименую файлы в .html, пропишу в AddHandler, отредактирую ссылки - и проблема решена. А не тут-то было...
Евгений О.
263 сообщения
#14 лет назад
Цитата ("floppox"):
Illarion_SA,
За сегодня лога вообще нет (у меня доступ только по фтп, к архивам).
Кратковременный эксперимент ничего не дал.

Тогда восстановите исходные права и надо, все-таки, смотреть лог. Свяжитесь с провайдером, попросите, чтобы они посмотрели лог или прислали Вам оба лога (error_log и access_log) по почте. Странно, конечно, что у Вас нет непосредственного доступа к логам, все-таки без этого трудно работать.
Елена Б.
6863 сообщения
#14 лет назад
Доступа нет, потому что сайт не мой. Я уже у владельца спрашивала.
Вадим Х.
256 сообщений
#14 лет назад
Зачем вообще заморочки с AddHandler? У Вас, что что сервер не умеет правильно распознавать расширения файлов и mime-типы? Тогда конечно пинайте сервер.
Елена Б.
6863 сообщения
#14 лет назад
Комент не в тему.
Евгений О.
2989 сообщений
#14 лет назад
floppox, а Вы уверены что у Вас файлы под PHP5?
С этой строкой AddHandler x-httpd-php5all .php .php3 .php4 .php5 .phtml .html # phpvs v5all все просто.
x-httpd-php5all - это указан обработчик файлов. Можно указать с типом запуска например application/x-httpd-php5all (если сервер разрешит, конечно). Без указания типа запуска он определяется по умолчанию из настроек сервера.
.php .php3 .php4 .php5 .phtml .html - это типы файлов которые будут отданы этому обработчику на съедение.
# phpvs v5all - это просто коммент, что для обработки используется php версии 5all

Можно попробовать что-то вроде такого
AddHandler x-httpd-php5 .php .php3 .php4 .php5 .phtml .html
AddHandler x-httpd-php4 .php .php3 .php4 .phtml .html
AddHandler x-httpd-php .php .php3 .php4 .phtml .html
Вадим Х.
256 сообщений
#14 лет назад
Цитата ("floppox"):
Комент не в тему.

floppox, почему не в тему? Вы же знаете для чего существует AddHandler.
Ну вот и запихайте инструкции, которые дал elosoft в файл .htaccess, а данный .htaccess в папку /wp-content/plugins/nextgen-gallery/admin/
Елена Б.
6863 сообщения
#14 лет назад
Вот лог. Это эксперементальный файл, с расширением .html.
Первый раз AddHandler закомментирован, файл открылся. Второй раз - с ним. Результат отрицательный.

ttt.TTT.7.4 - -  "GET /wp-content/plugins/nextgen-gallery/admin/dsds.html HTTP/1.1" 304 170 "-" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.112 Safari/534.30"
yyy.YYY.224.251 - - "GET /wp-content/gallery/different/001.png HTTP/1.1" 206 41257 "-" "facebookexternalhit/1.1 (+;
yyy.YYY.224.250 - - "GET /wp-content/gallery/different/001.png HTTP/1.1" 200 537241 "-" "facebookexternalhit/1.0 (+;
ttt.TTT.7.4 - - "GET /wp-content/plugins/nextgen-gallery/admin/dsds.html HTTP/1.1" 404 2974 "-" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.112 Safari/534.30"


elosoft, ну я вроде написала в первом посте версию всех используемых скриптов )
MasterJedi, ну а я виновата что он ведет себя не так, как мы от него ожидаем? Значит ни вы, ни я, не знаем полностью механизм его работы. Вот и все.
Вадим Х.
256 сообщений
#14 лет назад
Цитата ("floppox"):
Значит ни вы, ни я, не знаем полностью механизм его работы. Вот и все.

Мне ярлычки уже некуда вешать...

Поробуйте так:

В файл .htaccess добавить следующее:

<FilesMatch "edit-thumbnail.php">
Allow from all
Satisfy Any
</FilesMatch>


Или просто: (но менее безопасно)
Allow from all
Satisfy Any
Елена Б.
6863 сообщения
#14 лет назад
Попробовала. Чудо не свершилось
Евгений О.
263 сообщения
#14 лет назад
Цитата ("floppox"):
Вот лог. Это эксперементальный файл, с расширением .html.
Первый раз AddHandler закомментирован, файл открылся. Второй раз - с ним. Результат отрицательный.

ttt.TTT.7.4 - -  "GET /wp-content/plugins/nextgen-gallery/admin/dsds.html HTTP/1.1" 304 170 "-" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.112 Safari/534.30"
yyy.YYY.224.251 - - "GET /wp-content/gallery/different/001.png HTTP/1.1" 206 41257 "-" "facebookexternalhit/1.1 (+;
yyy.YYY.224.250 - - "GET /wp-content/gallery/different/001.png HTTP/1.1" 200 537241 "-" "facebookexternalhit/1.0 (+;
ttt.TTT.7.4 - - "GET /wp-content/plugins/nextgen-gallery/admin/dsds.html HTTP/1.1" 404 2974 "-" "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.112 Safari/534.30"



К сожалению, это не совсем тот лог, который нам нужен. Здесь Вы привели кусочек файла access_log (протокол обращений к серверу), нам надо посмотреть на файл error_log (протокол ошибок сервера, описывается в конфигурации Апач директивой ErrorLog) - именно в error_log и выводятся сообщения об ошибках. Вам надо попробовать "извлечь" из сервера именно error_log.

Кстати, когда Вы пишете "AddHandler закомментирован, файл открылся", это означает, что сервер Вам выдал исходный текст Вашего файла или сервер выполнил файл и вернул Вам результат его работы?

И еще, не совсем понятно, почему Ваш плагин лежит в файле .html (GET /wp-content/plugins/nextgen-gallery/admin/dsds.html), а не .php или что-то в этом роде. И почему "AddHandler ... .php..." так радикально влияет на файл .html... Может быть в этом кусочке лога нет нужной записи(?)