Проблема в 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 и потом прекращается запрос — видно по поведению браузера.
Есть у кого идеи по источнику проблемы?

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

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

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

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

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

  2. Lecactus 16 декабря 2008 в 14:09

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

  3. Lecactus 16 декабря 2008 в 18:55

    Сегодня чудесный день: Сергей Бирюков подсказал где копать — оказалось по паре пробелов перед

  4. slaFFik 16 декабря 2008 в 22:00

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

  5. Иван 4 января 2009 в 20:21

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

    В настройках 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. Иван 4 января 2009 в 21:05

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


    ...

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

    location / {

    root /site_dir;
    index index.php;

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

    proxy_pass...
    ...

    }

    ...

  7. Barr-man 10 июня 2009 в 14:45

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

  8. Lecactus 10 июня 2009 в 15:01

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

  9. Василий 4 июля 2009 в 18:35

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

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

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

    Спасибо

  10. Александр 28 апреля 2010 в 0:31

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


    ...

    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?

  11. Екатерина 10 января 2013 в 16:30

    подскажите пожалуйста что делать, я обновила блог на wp до последней версии и у меня начались глюки с медиаменеджером, он картинки загружает, но не отображает их, не могу вставить их в текст