Способ изменения URL-адресов изображений в сообщении в URL-адрес изображения cdn?

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

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

Поэтому я ищу способ автоматического изменения URL-адреса почтовых изображений, например: http://www.sitename.com/wp-content/uploads ….. http://cdn.sitename.com/wp -content / uploads …

Является ли это возможным ? если да, пожалуйста, помогите. заранее спасибо

Solutions Collecting From Web of "Способ изменения URL-адресов изображений в сообщении в URL-адрес изображения cdn?"

Вы можете анализировать через регулярное выражение для изображений в the_content ; но всегда загружается и медленно. Возможно, вы измените URL-адрес изображений, после post_save в базе данных или измените текущие сообщения в базе данных и создайте собственный CDN. Его быстрый способ и все плагины кэширования имеют перерыв, что она должна анализировать контент. Для фона пользовательский CDN в WP видит этот ответ .

Вы посмотрели на этот плагин? http://wordpress.org/extend/plugins/cdn-rewrites/

Из описания плагина:

В принципе, этот плагин позволяет пользователю WordPress указать две важные переменные: хост orgin (ваш сайт) и «хост назначения» (хост cdn). Затем он найдет все статическое содержимое этого исходного хоста и перепишет их в пункт назначения, чтобы они были доставлены оттуда.

Кажется, это то, что вам нужно?

—————————— РЕДАКТИРОВАТЬ

Если вы пытаетесь избежать использования плагинов, вот отличная статья об этом: http://www.cyberciti.biz/tips/wordpress-cdn-content-delivery-network-configuration.html

Однако я никогда не пробовал этот метод. Но это похоже на чистое решение.

если изображения остаются в одном и том же месте, и вы только хотите изменить субдомен, .htaccess RewriteRule будет самым простым:

если правило применяется только к изображениям, то:

 RewriteCond %{HTTP_HOST} =www.sitename.com RewriteRule ^.+\.(jpe?g|png|other|img|ext)$ http://cdn.sitename.com/$0 [nocase,redirect=temp,last] 

вы можете добавить тест RewriteCond для изображений, но тест, выполняемый в RewriteCond, использует те же ресурсы, что и один раз в RewriteRule.

вы также можете перенаправить все в каталог uploads. если cdn.sitename.com проходит через тот же набор правил .htaccess, я бы включил оператор RewriteCond:

 RewriteCond %{HTTP_HOST} =www.sitename.com RewriteRule ^wp-content/uploads/.+$ http://cdn.sitename.com/$0 [nocase,redirect=temp,last] 

[redirect = temp] или [redirect = постоянный]; часто записывается как [R = 302] и [R = 301].

Документация apache mod_rewrite

(автоматический синтаксис hiliting / formatting не был разработан с учетом .htaccess 🙂

веселит,
Грегори

если вы хотите жестко изменить изменения img src, это будет функцией для вас; wp_update_post ($ post) ; в сочетании с циклом, который проходит через каждый пост и post_type, на которые вы хотите повлиять, и используя preg_replace для замены url src.

присвойте шаблон странице, загрузите страницу всякий раз, когда вы хотите обновить url src, удалите страницу, когда вы не хотите, чтобы другие могли запускать код.

шаблоны поиска / замены grep_replace () выглядят примерно так:

search: (<img [^>]*?src=['"]https?://)www\.sitename\.com
заменить: $1cdn.sitename.com

или более конкретно:

search: (<img [^>]*?src=['"]https?://)www(\.sitename\.com/wp-content/uploads/)
заменить: $1cdn$2

даже несмотря на то, что wp_update_post () автоматически создает ревизию, если вам нужно отменить изменение, резервное копирование базы данных перед загрузкой страницы.

Сначала я проверил бы цикл, wp_update_post () и preg_replace () на ограниченном наборе сообщений, возможно, указав идентификаторы персонажей в массиве и пройдя через этот массив.

дополнительным вариантом может быть создание новой временной категории «Обновлено CDN» и присвоение новой категории каждому сообщению при его обновлении. вы могли бы опустить любые должности с этим термином категории из будущих запросов на обновление. одним из небольших недостатков этого является то, что даже если вы позже удалите категорию, значения будут сохранены для каждого сообщения в db (исправьте меня, если я ошибаюсь).

веселит,
Грегори

вы также можете подключиться к действию pre_post_update.

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

так как я предполагаю, что вы знакомы с заменой себя, просто поместите свою функцию в эту функцию, и там вы идете!

 add_action('pre_post_update', 'change_image_urls', 10 ); function change_image_urls( $post_id ) { // your function here... // $post = get_post( $post_id ); }