У меня есть блог 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]
НО это перенаправляет только старые запросы. Вам все равно нужно обновить сайт, чтобы он ссылался на новый домен, если срок действия старого домена в конечном итоге истекает.