Многие люди используют WordPress для создания веб-сайтов на основе изображений, которые обычно требуют загрузки на страницу большого количества загруженных изображений вложений. Хотя пространство WordPress может указывать вложение как абсолютный URL-адрес, этого недостаточно для устранения ограничений механизма потока загрузки браузера. Ниже мое решение для WordPress.
Прежде чем говорить об этом методе, давайте сначала разберемся, что такое поток загрузки браузера. Проще говоря, когда вы открываете веб-страницу в браузере, если все изображения, стили, js и т. д. на странице размещены под одним и тем же доменным именем, то браузер должен запросить загруженный файл при запросе к серверу. . Запросите следующую (или вы можете запросить несколько загрузок одновременно, а затем продолжать запрашивать, в разных браузерах это может быть по-разному). Если изображения, стили, js и другие файлы на этой странице размещены в доменном имени и их слишком много, очередь ожидания при открытии веб-страницы будет длинной. (Например, ваша широкополосная связь 2M не намного быстрее, чем широкополосная связь 4M)
Решение состоит в том, чтобы загружать больше данных одновременно. Ограничено проблемой ограничения под одним и тем же доменным именем, для ее решения мы можем использовать несколько доменных имен.
Если ваше пространство позволяет привязывать несколько подкаталогов, вы можете привязать несколько имен поддоменов к вложению WordPress wp-content/uploads/.
Мой привязывает свои поддомены http://pic0.tsov.net/ и http://pic1.tsov.net/ к wp-content/uploads/.
В то же время укажите имя поддомена, которое вы установили в «Настройках» и «Медиа» в фоновом режиме (если в вашем блоге уже есть данные, вы можете использовать phpmyadmin для выполнения оператора и одновременного преобразования вложений),
Например, мои настройки: (Полный URL-адрес файла: http://pic.tsov.net )
Затем добавьте следующий код в файл function.php вашей темы.
<?php
функция settings_pic_tsov_net($content) {
$pattern="/<img******************/" (Поэтому полный код не может быть отображен здесь, нажмите, чтобы загрузить полный код)
preg_match_all ($ шаблон, $ контент, $ совпадение);
$iNumberOfPics = count($match[0]);
for ($i=0; $i <$iNumberOfPics; $i++){
$tsovnet= str_replace('pic.tsov.net','pic'.rand(0,1).'.tsov.net',$match[1][$i]);
$content=str_replace($match[1][$i],$tsovnet,$content);
};
вернуть $содержание;
}
add_filter('the_content','setting_pic_tsov_net',12);
?>
Функция приведенного выше кода — случайная замена путей к изображениям в вашем журнале.
Все они привязаны к wp-content/uploads/.
Если у вас мало фотографий на одной странице. Только не создавайте слишком много имен поддоменов (разрешение имен доменов также требует времени). Обычно 2-3 достаточно. Грубо посчитать это можно так: субдомен можно загрузить 5 раз одновременно, поэтому сколько вам нужно загрузить одновременно? Разделите на 5, чтобы получить количество субдоменов, которые вы хотите использовать.
Вышеупомянутый — это лишь мой первоначальный метод реализации. Позже я обнаружил, что путь к изображению с использованием случайных чисел rand (0, 1) часто меняется, что может быть нехорошо для поисковых систем. Лучше это исправить, поэтому я использую его. так:
$tsovnet= str_replace('pic.tsov.net','pic'.substr(decbin(md5($match[1][$i])),-1).'.tsov.net',$match[1 ][$i]);
Я не буду объяснять это предложение, оно слишком громоздкое. Но наконец я достиг своей конечной цели.
Конечно, вышеизложенное включает в себя множество других вопросов оптимизации, поэтому я не буду вдаваться в подробности.
Кроме того: например, если вы укажете имя субдомена на другое пространство, каждый раз, когда вы публикуете журнал с вложением, вложение будет синхронизироваться с другими пространствами. (Для этой синхронизации можно написать программу, которая загрузит ее с помощью 404 и других странных методов)
Сказав так много, все, должно быть, растерялись при просмотре. Тогда давайте испытаем эффект после реализации.
Оригинальный текст: http://tsov.net/category/album/
Спасибо Simonsu за ваш вклад