Kredov long

[Помогите] Ошибка 500 (Internal Server Error)

Тема в разделе "Wordpress", создана пользователем wlmat, 3 апр 2013.

  1. wlmat

    wlmat

    Регистрация:
    29 мар 2013
    Сообщения:
    25
    Симпатии:
    1
    Просто у меня тут уже пол-третьего ночи, голова уже не варит))) завтра с утра и займусь
    --- добавлено: 4 апр 2013 в 00:36 ---
    Не удержался, удалил .htaccess
    Нет, в админку не дает зайти
     
  2. marsrip

    marsrip

    Регистрация:
    13 мар 2013
    Сообщения:
    116
    Симпатии:
    55
    Бэкап есть ? восстанови сайт по бэку на поддомене и по удоляй все плагины левые который постаил
     
  3. wlmat

    wlmat

    Регистрация:
    29 мар 2013
    Сообщения:
    25
    Симпатии:
    1
    Сделал откат сайта на 3 апреля. При открытии его в браузере светится надпись:
    Parse error: syntax error, unexpected T_STRING in /home/r/имя польз/public_html/wp-content/wp-cache-config.php on line 13
    --- добавлено: 4 апр 2013 в 09:04 ---
    Откатил на 28 марта, такая дата стояла у хостера (3 апр, потом сразу 28 марта) Сайт появился.
    Ну что, фигачить все плагины?
    Если я удалю, например, Terms Description, у меня ж пропадет куча ссылок внутренней перелинковки.
    А если удалю No-Ref, то, наоборот, все внешние ссылки откроются. Однозначно в бан попаду в Яндексе.
     
  4. marsrip

    marsrip

    Регистрация:
    13 мар 2013
    Сообщения:
    116
    Симпатии:
    55

    кэш сайта почисти , смотри 13 строчку wp-cache-config.php
     
  5. wlmat

    wlmat

    Регистрация:
    29 мар 2013
    Сообщения:
    25
    Симпатии:
    1
    Спасибо, что подсказываешь. Там ошибок много, 13-ю строчку смотрел, ничего не нашел, все кавычки на месте и тд. Там еще полно таких вещей, как Undefined variable Неопределленная переменная, Undefined index: неопределенный индекс, Trying to get property of non-object in и тому подобное. Со всем этим добром еще предстоит разбираться. На сервере файл error_log обновляется примерно каждые полчаса, так что все видно, но пока китайская грамота.
    Пока удаляю плагины, скрипты, какие нахожу ненужными. Записываю в блокнотик, периодически делаю бекапы вручную.
    Но вот что, мне кажется, самое главное ты мне подсказал вчера:
    Через Total Commander увидел права на файл .htaccess, стояли 755, в результате вот эта часть в конце файла
    Код:
    # END WPSuperCache
     
    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
     
    # END WordPress
    была повторена десятки раз.
    Как я понял она каждый раз при кешировании прописывалась.
    Поменял права на 644, как вчера ты точно сказал, что права должны быть 644, удалил все повторы этого куска кода, пока файл .htaccess не меняется.

    Мне кажется, это ключевой момент, почему сайт вылетал, как считаешь?
     
  6. marsrip

    marsrip

    Регистрация:
    13 мар 2013
    Сообщения:
    116
    Симпатии:
    55
    возможно кривой плагин + неправильные права на .htaccess
    на .htaccess всегда права должны стоять 644 иначе ресурс просто взломают
     
  7. wlmat

    wlmat

    Регистрация:
    29 мар 2013
    Сообщения:
    25
    Симпатии:
    1
    Видимо, проблему с 500 ошибкой можно считать решенной. После размещения нового поста будет ясно окнчательно, но я почему-то уверен, что все ок.
    Радует также, что файл error_log на сервере занимает 196 КБ против 999 вчерашних. После всех процедур и очистки кеша в плагине wp super cash основная строчка ошибки вот эта:
    Код:
    PHP Notice: Undefined variable: j in /home/r/имя/public_html/wp-content/plugins/wp-noref/wp-noref.php on line 142 
    или
    Код:
    PHP Notice:  Undefined variable: classes in /home/r/имя/public_html/wp-content/plugins/wp-noref/wp-noref.php on line 142
    Плагин WP-NoRef удалять как-то не хочется, он закрывает все внешние ссылки и народом принимается положительно. То есть, косяк мой, а не плагина.
    Уже по записям ошибок ясно, что это связано с переменной J classes
    Посмотрел в коде wp-noref.php эту самую 142-ю строку:
    Код:
     if ($i >= count($domens) && $j >= count($classes)) {
    и точно, есть эти переменные $j и $classes

    Дальше моих познаний в PHP не хватает. Кто разбирается, скажите это критичная ошибка и как ее исправлять?

    Вся группа кода выглядит так:
    Код:
     if ($i >= count($domens) && $j >= count($classes)) {
    	  $matches[1] = $before;
    	  $matches[6] = $after;
    	}
     
  8. wlmat

    wlmat

    Регистрация:
    29 мар 2013
    Сообщения:
    25
    Симпатии:
    1
    Тестирование ошибки закончил. Устранена! Выявлено — неправильно установленные права на файл .htaccess
    Должны быть 644. Всего делов-то.