Задать вопрос
@murmuringvoices
Звукорежиссер

Реврайты на CDN в Nginx, или заранее в html?

Увидел на просторах интернета ответ Сысоева кому-то на вопрос про реврайт на CDN

location ~* ^.+.(jpe?g|gif|css|png|js|ico)$ {
rewrite ^ http://http.cdnlayer.com/contentfolder$request_uri?
permanent;
access_log off;
}


Возник вопрос: насколько это хороший способ в целом? Насколько это хуже/лучше чем заменять ссылки в самом html, который отдаётся клиенту?

Правильно ли я понимаю, что тут всё в реальной жизни будет привязано еще к кэшированию редиректов, то есть поменять безболезненно CDN не получится?
  • Вопрос задан
  • 307 просмотров
Подписаться 3 Оценить Комментировать
Решения вопроса 3
zooks
@zooks
Frontend
Про кэширование не скажу, но редиректы - зло. Медленней загружается страница. Поисковики не любят редиректы - это лишь временная мера при изменении путей.

Получается, нужно оставить редирект для уже проиндексированных изображений. А в самом HTML указывать новые пути на CDN.
Ответ написан
@inkvizitor68sl
Linux-сисадмин с 8 летним стажем.
Сам такой реврайт плох, лучше использовать return 302 (и заменить его на 301, когда будете точно уверены, что адреса файлов тепереь заменены навечно).

После включения редиректа нужно начинать переделывать сам html, тут zooks правильно сказал. Даже с десяток редиректов ощутимо замедляют загрузку страницы.
Ответ написан
FuN_ViT
@FuN_ViT
веб-разработчик
Тут дело в грамотном использовании инструментов.

Могу привести пример для картинок:

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

Еще есть вариант, когда делают hotlinking картинок (и это разрешено вашим сайтом) - тогда rewrite прийдется оставить навсегда.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы