2015-09-03 2 views
1

Это область моего сайтаКаков самый простой способ изменить домен для всех изображений?

www.mydomain.com 

А теперь я добавил новый сервер, и перенесли все изображение на этом сервере

cdn.mydomain.com 

В моем веб-сайте, есть два случая.

случай 1:

<head> 
<base href="//www.mydomain.com"> 
</head> 

<body> 
<img src="img/internalImage.jpg"> 
<a href="internalLink.html">internal link</a> 
</body> 

случай 2:

<head> 
<base href="//www.mydomain.com"> 
</head> 

<body> 
<!-- 
Value of $row['url'] can be: 
1. "img/relative.jpg" 
2. "/img/absolute.jpg" 
3. "//external.com/external.jpg" 
--> 
<img src="<?php echo $row['url']; ?>"> 
<a href="internalLink.html">internal link</a> 
</body> 

Так как я переехал все изображения на КДС-сервер, так что мне нужно только изменить базовый URL для IMG только тег, что простейший способ изменить базовый домен только для изображения? Я не могу редактировать каждый img на всем сайте.

+1

Для изображений не существует базы данных href. – jfriend00

ответ

1

Вы можете использовать JavaScript, как это:

$('img').attr('src', function(i, val) { 
    return val.replace('www.mydomain.com', 'cdn.mydomain.com') 
}); 

Это не оптимальный путь, лучше сделать это на стороне сервера (если возможно), но лань это работа.

+2

Но его hrefs относительны, не содержат фактического www.mydomain.com. Он мог добавить недостающую часть. Но, и я не уверен в этом, не будет ли это решение иметь тонну 404s, прежде чем скрипт исправляет изображения? Я думаю, что ему может быть лучше редактировать сервер html-сервера. – Ernesto

+0

Да, я тестировал, и многие отменили. Поэтому я не могу использовать это решение. Может ли htaccess помочь в этой проблеме? –

+0

Я не тестирую его, но, возможно, вы можете создать обработчик образов на сервере и перенаправить запрос на тот же путь на вашем CDN-сервере. Я не знаю linux, поэтому я не знаю, можете ли вы сделать это в 'htacess'. –

Смежные вопросы