Intereting Posts
Пользовательский короткий код с динамическим переписыванием Как остановить продолжение сообщений во втором цикле с того места, где первый закончился Как использовать Head JS со всеми установленными сценариями? страниц списка wp с использованием значения мета-поля Несколько экземпляров TinyMCE удаляют тег <p> Загрузка внешнего шаблона страницы и скрипта enqueue из плагина вызывает 403 запрещенную ошибку Детские страницы не становятся подменю (как в тесте двадцать десять)? Печать строки в нижний колонтитул с использованием параметра wp_footer Почему пустые записи в блогах без добавления автора на мой сайт? Запросить сообщение с миниатюрой Использование add_rewrite_rule () для перенаправления на главную страницу Как создать редактор кода для моего плагина.? Ограничение количества символов в исключении Пытается получить свойство сообщения об ошибке неактивного сообщения WordPress как я могу отображать все видео на YouTube с учетной записью пользователя youtube

Загрузка изображений в многосайтовый сайт приводит к сбою в ошибке HTTP

Просто чтобы заполнить вас в моей ситуации.

Запуск многострановой версии WordPress: 3.5.2 чистая установка.

Нулевые плагины сторонних разработчиков. Все мои плагины отключены для отладки.

Использование сопоставления доменов WordPress MU для нескольких разных TLD в сети.

Я также подделал все сетевые URL-адреса для работы с файлом с моего локального сервера, а не с существующей прямой сетью.

Файл хостов: vi /etc/hosts/

Может содержать что-то вроде:

 127.0.0.1 domain-a.com 127.0.0.1 www.domain-a.com 127.0.0.1 domain-b.com 127.0.0.1 www.domain-b.com 

для каждого сайта в сети …. и т. д.

Я сделал это, так что мне не нужно менять URL-адреса сайтов и что у вас есть.


Все на каждом сетевом сайте работает по назначению. Единственная проблема – загрузка медиафайлов. По какой-то причине они не загружаются должным образом. Пользователь является полноправной ролью пользователя-администратора, поэтому он не может быть связан с разрешением.

В настоящее время я запускаю Ubuntu 12.04 с PHP 5.4.6 (FAST-CGI) .

При загрузке изображения я получаю очень общую ошибку от WordPress.

Ошибка 40 лет ... на Life.jpg Ошибка HTTP.

Error 40 Year Old … to Life.jpg HTTP error.

После переключения PHP из FAST-CGI в MOD-PHP я получил немного более конкретный ответ от WordPress.

Ошибка 40 лет ... на Life.jpg Загруженный файл не может быть перемещен в wp-content / uploads / sites / 3/2013/07.

Error 40 Year Old … to Life.jpg The uploaded file could not be moved to wp-content/uploads/sites/3/2013/07.

Я проверил каталог: ./wp-content/uploads/sites/3/2013/ и нет /07/ создан автоматически. Поэтому я попытался вручную создать его и снова загрузить из FAST-CGI и MOD-PHP , по-прежнему происходят одни и те же ошибки.

Я просмотрел что-то вроде: ./wp-admin/network/site-settings.php?id=3 в панели управления сетевого администратора, ища параметры, связанные с носителем.

 Uploads Use Yearmonth Folders => true Upload Path => '' //blank Upload Url Path => '' //blank 

Я проверил живую многосайтовую сеть вместе с другими установками на нескольких сайтах, и они, похоже, имеют одинаковые настройки.

Затем я начал думать, что это может быть связано с htaccess.

Когда я иду в Network Admin -> Settings -> Network Setup

Он говорит мне использовать:

 RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] # add a trailing slash to /wp-admin RewriteRule ^wp-admin$ wp-admin/ [R=301,L] RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] RewriteRule ^(wp-(content|admin|includes).*) $1 [L] RewriteRule ^(.*\.php)$ $1 [L] RewriteRule . index.php [L] 

Это то, что я использовал, кроме небольшого изменения в начале (сразу после RewriteEngine On ), позволяющего перенаправлять URL-адреса, не связанные с WWW, на www-адреса.

Пример:

 # DOMAIN-A Redirect non-www urls to www RewriteCond %{HTTP_HOST} ^domain-a.com RewriteRule ^(.*)$ http://www.domain-a.com/$1 [R=301,L] # DOMAIN-B Redirect non-www urls to www RewriteCond %{HTTP_HOST} ^domain-b.com RewriteRule ^(.*)$ http://www.domain-b.com/$1 [R=301,L] 

Однако эти правила не совпадают, как объясняет WordPress Codex . Я пробовал рекомендации в соответствии с Кодексом WordPress, все еще не желая загружать изображения в моей многопользовательской сети WordPress.

У меня в настоящее время SUBDOMAIN_INSTALL установлено значение true, используя соответствующие правила перезаписи в соответствии с WordPress Codex. Я также попытался установить SUBDOMAIN_INSTALL на false, снова … используя соответствующие правила перезаписи. Не исправили проблему.

Живая сеть (версия: 3.5.2) также перестала разрешать загрузку изображений.

Я недостаточно опытен с несколькими сайтами, чтобы узнать, что может вызвать эту проблему. Я продолжу расследование этого, если у кого-то еще нет идеи, как решить эту проблему, пожалуйста, поделитесь своими приобретенными знаниями!

Обратите внимание, что это 100% проблема с памятью. Он даже не загрузит файл изображения 1kb.

Я пробовал все возможные решения, как упоминалось в разделе Как исправить ошибку HTTP при загрузке изображений? и до сих пор не повезло, что это работает.

Использование Dashboard -> Media -> Add New -> browser uploader вместо многофайлового загрузчика приводит к ошибке и внутреннему серверу.

По какой-то причине я могу последовательно загружать этот случайный конкретный образ снова и снова без каких-либо проблем, но любое другое изображение, которое я пытаюсь загрузить, не удается … даже изображения размером 1 КБ.

Успех медиа-загрузчика

Я могу загрузить некоторые изображения, а не другие. Некоторые загрузки изображений вызывают ошибки внутреннего сервера, а некоторые нет. Некоторые могут быть 1кб, а некоторые могут быть 5 МБ. Абсолютно озадачиваешь.

Solutions Collecting From Web of "Загрузка изображений в многосайтовый сайт приводит к сбою в ошибке HTTP"

Благодаря @s1lv3r и @GhostToast за полезные советы в чате я @GhostToast проблему.

Как указано в моем первоначальном вопросе , о котором я говорил выше, я заявил, что я тестировал как FAST-CGI и MOD-PHP , оба продолжали реплицировать ту же ошибку.

Как указано в чате, я тестировал как на выделенных серверах Ubuntu 12.04, так и на CentOS 5.9.

Сообщение чата от @s1lv3r в конечном счете, вызвало идею тестирования PHP-FPM … и посмотрите на это? PHP-FPM решил тайну!

Я много раз тестировал как Ubuntu 12.04, так и CentOS 5.9 вместе с включенными плагинами, с включенными плагинами, с включенной поддержкой темы, а также с настраиваемой темой. Он определенно загружал каждое изображение, пусть и маленькое или большое – без ошибок.

Поэтому еще раз в случае, если вы не поймали его раньше. Если у вас есть похожие симптомы с вашим многостраничным сайтом WordPress. Попробуйте включить PHP-FPM на свой сервер или, как указано в чате, через @s1lv3r Если вы используете FAST-CGI вы можете попробовать chmodding ваш каталог загрузок до 777.

Включение PHP-FPM позволило решить эту проблему на многостраничном сайте WordPress, вызывая ошибку HTTP при загрузке изображения.


BoF EDIT 10/20/2016

Если вы получаете HTTP-ошибки с помощью WordPress Multisite, рассмотрите способ настройки вашей установки.

Для WordPress Multisite существует два варианта:

  1. Установка подкаталога
  2. Установка субдомена

Я управляю сетью всех сайтов, использующих TLD, в установке «подкаталог». Они отлично работали навсегда. Внезапно они начали сбой при загрузке файлов с помощью «HTTP Error».

Проблема только в WordPress, и проблема в HTTP. Так что на WordPress и Apache есть что-то другое. Единственная общая ссылка – .htaccess .

Если вы посмотрите на WordPress Codex :: .htaccess и Mod Rewrite Правила перезаписи на самом деле очень разные в зависимости от типа установки, которую вы настроили для Multisite.

Я заменил правила перезаписи для установки «подкаталога» с соответствующими правилами перезаписи для установки «поддомена». Затем я также обновил wp-config.php чтобы изменить define('SUBDOMAIN_INSTALL', false); для этого define('SUBDOMAIN_INSTALL', true);

БУМ! Задача решена. Нет больше HTTP Ошибка при загрузке файлов в WordPress Multisite с использованием TLD для каждого сайта в сети.

EoF EDIT 10/20/2016