Назад | Перейти на главную страницу

htaccess перезаписывает все URL-адреса (включая hrefs изображений) из одного домена в другой

У меня есть блог wordpress в подкаталоге, который я недавно переместил с .com на .co.uk (myurlstudio.com/blog на myurl.co.uk/blog). Проблема в том, что во многих сообщениях есть изображения, а их href-адреса по-прежнему указывают на старый домен, и поэтому они не работают с текущими настройками htaccess. Изображения указывают на http://www.myurlstudio.com/blog/wp-content/uploads/image.jpg, когда я хочу, чтобы они указывали на http://www.myurl.co.uk/blog/wp-content/uploads/image.jpg. Поэтому мне нужно изменить в htaccess следующее:http://www.myurlstudio.com/blog'к'http://www.myurl.co.uk/blog'где бы он ни появлялся.

Текущий htaccess выглядит так (это стандартная схема перезаписи URL для конкретного5):

# -- concrete5 urls start --
<IfModule mod_rewrite.c>
RewriteEngine On

RewriteCond %{HTTP_HOST} ^(www.)?myurlstudio.com$
RewriteRule ^(.*)$ http://www.myurl.co.uk/$1 [L]


RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]


</IfModule>
# -- concrete5 urls end --

Как видите, сайт myurlstudio.com перенаправлен, но URL-адреса внутри документов, похоже, не переписываются.

Любая помощь приветствуется!

Если у вас есть доступ к старому хосту (похоже, что вы делаете это из комментариев), ваше правило должно работать, когда оно помещено в docroot старого сайта:

RewriteCond %{HTTP_HOST} ^(www.)?myurlstudio.com$
RewriteRule ^(.*)$ http://www.myurl.co.uk/$1 [L,R=301,QSA]

НО это перенаправляет только старые запросы. Вам все равно нужно обновить сайт, чтобы он ссылался на новый домен, если срок действия старого домена в конечном итоге истекает.