Hostenko — лучший WordPress-хостинг

Проблема в WordPress MU c медиафайлами (в настройках сервера под WPMU)

Вчера SlaFFik обратился за помощью – как он сказал у него

после обновления WPMU с 2.6.3 до 2.6.5 перестали показываться все картинки

Провозился он сначала сам долго, затем привлек меня в помощь. я тоже очень долго возился… Что только не проверял – все равно не отдавались картинки через редирект на сервере (путь идет как www.site.ru/files/2008/12/file.jpg а реально файл лежит в WPMU к примеру www.site.ru/wp-content/blogs.dir/1/files/2008/12/file.jpg) – ни в какую не открывало так, хотя на сервер картинки все закачивались и даже миниатюры создавались. При этом в логах писало ошибку о каком то превышении числа редиректов.

mod_rewrite: maximum number of internal redirects reached. Assuming configuration error. Use ‘RewriteOptions MaxRedirects’ to increase the limit if neccessary.

изменение этого параметра он писал что не помогло.

Ради прикола переименовал картинку – сделал ей левой расширение TXT – файл тут же начал нормально загружаться через браузер по прямой ссылке.
В конфиге и htaccess в корне сайта было все нормально. Решил попробовать у себя поставить вмпу2.6.5 – та же фигня. ставлю 2.6.3 – тоже не пашет. 2.6.1 – тоже не пашет. 1.5 – тоже не пашет. хотя раньше все работало. Сегодня поставил бету wpmu 2.7 – думал ну там то уж точно может заработает – фигушки! и тут дернуло меня выключить для тестового домена в конфиге nginx отдачу статики (там были как раз перечислены расширения). Перезапустил Nginx и вуаля – WPMU тут же заработал без проблем. Видно причина кроется как раз в том что идет схема nginx-apache-wpmu и при использовании еще и редиректа внутри домена на папку с загрузками что то блокируется. nginx отдавал ошибку 404 – типа не найдено ничего на сервере. Но это ладно – мой сервер и такое может быть – где то может что то не учел в настройке для совместимости с MU (я у себя его только тестирую а реально не использую для себя)
но у SlaFFik’а конфигурация софта совсем другая : Server: Apache/1.3.41 (Unix) mod_throttle/3.1.2 mod_psoft_traffic/0.2 mod_ssl/2.8.31 OpenSSL/0.9.8b
и nginx-ом там даже не пахнет. Но тем не менее даже при откате у него на старую версию движка проблема не пропадает. в чем причина тоже не ясно. если у меня просто выдает 404, то у него просто виснет секунд на 30 и потом прекращается запрос – видно по поведению браузера.
Есть у кого идеи по источнику проблемы?

Связанные записи

10 комментариев

  1. 1 Александр М. 16 декабря 2008 в 14:06 (GMT+6)

    Может с кешированием, что-то? Плагины пробовали все отключать?

    Или хостер чудит. У меня один раз был случай: хостер http://www.net.ru неожиданно включил кеширование где-то у себя, а у меня все полетело. Потерял уйму времени, потом стал писать ему. Сотрудник тех. поддержки сказал, что ввели новую услугу, а также сообщил, что планируют взимать за нее дополнительную плату, а пока можем пользоваться бесплатно. Я попросил немедленно отключить и через месяц съехал от туда.


  2. 2 Lecactus 16 декабря 2008 в 14:09 (GMT+6)

    Александр М., кэширование ЧЕГО именно? я ложу картинку в папку с новым именем – картинка не открывается. переименовываю ее с другим расширением – все ништяк. плагины отключали разные. кэширование не включено в блоге. проблема именно с редиректами(реврайтами)


  3. 3 Lecactus 16 декабря 2008 в 18:55 (GMT+6)

    Сегодня чудесный день: Сергей Бирюков подсказал где копать – оказалось по паре пробелов перед вот так даже без «UTF-BOM» находятся такие дурацкие проблемы на «пустом месте». в буквальном смысле.
    проблема решена. проверил — уже больше не глючит.


  4. 4 slaFFik 16 декабря 2008 в 22:00 (GMT+6)

    я в шоке…. Во-первых, спасибо Ивану за всю проделанную работу, во-вторых, спасибо Сергею Бирюкову за подсказку.
    Спасибо вам огромное! Тепер хоть работать буду нормально :)


  5. 5 Иван 4 января 2009 в 20:21 (GMT+6)

    Столкнулся с такой же проблемой.

    В настройках nginx’а написал:


    ...

    location ~*^.+\.(список_расширений)$
    {
    root /site_dir;
    }

    location / {

    root /site_dir;
    index index.php;

    <strong>rewrite ^.*/files/(.*) /wp-content/blogs.php?file=$1;
    if (!-e $request_filename) {
    rewrite ^.+?(/wp-.*) $1 last;
    rewrite ^.+?(/.*\.php)$ $1 last;
    rewrite ^ /index.php last;
    </strong>

    proxy_pass...
    ...

    }

    ...

    Важная часть выделена жирным. Помогло. Работает.

    Идею почерпнул тут: http://dev.honewatson.com/wp-content/uploads/2007/10/mu-wordpress-bbpress-nginx-server.txt

    Спасибо этому человеку.


  6. 6 Иван 4 января 2009 в 21:05 (GMT+6)

    Ой, лажанулся чуток – лишнего понаписал.


    ...

    location ~*^.+\.(список_расширений_статических_файлов)$
    {
    root /site_dir;
    }

    location / {

    root /site_dir;
    index index.php;

    rewrite ^.*/files/(.*) /wp-content/blogs.php?file=$1;

    proxy_pass...
    ...

    }

    ...


  7. 7 Barr-man 10 июня 2009 в 14:45 (GMT+6)

    народ, а не скажете, как решить мою проблему: медиафайлы не загружаются ввиду того, что кагбы перебрал дисковое пространтство: из 10 мб 9.9 использовано. однако где увеличить эту квоту в WordPress MU 2.7 я так и не нашел. на хостинге места еще валом, откуда взялось это ограничение не 10 мб непонятно.


  8. 8 Lecactus 10 июня 2009 в 15:01 (GMT+6)

    Barr-man, в настройках административных есть


  9. 9 Василий 4 июля 2009 в 18:35 (GMT+6)

    Поставил скачанный у Вас дистр wpmu 2.7.1 – та же самая проблема.

    Сегодня чудесный день: Сергей Бирюков подсказал где копать – оказалось по паре пробелов перед <?php в 3х файлах активной темы и в wp-config.php
    вот так даже без «UTF-BOM» находятся такие дурацкие проблемы на «пустом месте». в буквальном смысле.
    проблема решена. проверил — уже больше не глючит.

    Не могли бы подсказать где именно и что править? Вроде бы всё проверил – никаких лишних пробелов не нашел :/

    Спасибо


  10. 10 Александр 28 апреля 2010 в 0:31 (GMT+6)

    Ой, лажанулся чуток – лишнего понаписал.


    ...

    location ~*^.+\.(список_расширений_статических_файлов)$
    {
    root /site_dir;
    }

    location / {

    root /site_dir;
    index index.php;

    rewrite ^.*/files/(.*) /wp-content/blogs.php?file=$1;

    proxy_pass...
    ...

    }

    ...

    но этот реврайт работает в apache.. или бэкенд fast-cgi, а не apache?


Комментарии не по теме удаляются! Читайте реадми дистрибутива, комментарии выше и FAQ! Прежде чем задавать вопрос, прочитайте это. Научитесь ценить чужое время!

 Имя (обязательно)  EMAIL (обязательно)  АДРЕС ЛИЧНОГО БЛОГА

Вы соглашаетесь с правилами


При добавлении HTML|CSS|JS|PHP кода в комментарий, оформляйте его через кнопку КОД

 

Получать комментарии по RSS Адрес трэкбека