%20%D1%81%20%D0%BE%D0%B4%D0%BD%D0%BE%D0%B3%D0%BE%20%D0%B4%D0%BE%D0%BC%D0%B5%D0%BD%D0%B0%20%D0%BD%D0%B0%20%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%B9.png)
У меня есть блог 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 для concrete5):
# -- 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-адреса внутри документов, похоже, не перезаписываются.
Любая помощь приветствуется!
решение1
Если у вас есть доступ к старому хосту (судя по комментариям, так оно и есть), ваше правило должно работать при размещении в docroot старого сайта:
RewriteCond %{HTTP_HOST} ^(www.)?myurlstudio.com$
RewriteRule ^(.*)$ http://www.myurl.co.uk/$1 [L,R=301,QSA]
НО это перенаправляет только старые запросы. Вам все равно нужно обновить сайт, чтобы ссылаться на новый домен, если старый домен в конечном итоге истечет.