%EC%9D%84%20%EB%8B%A4%EB%A5%B8%20%EB%8F%84%EB%A9%94%EC%9D%B8%EC%9C%BC%EB%A1%9C%20%EB%8B%A4%EC%8B%9C%20%EC%9E%91%EC%84%B1%ED%95%A9%EB%8B%88%EB%8B%A4..png)
최근에 .com에서 .co.uk(myurlstudio.com/blog에서 myurl.co.uk/blog로)로 마이그레이션한 하위 디렉토리에 wordpress 블로그가 있습니다. 문제는 많은 게시물에 이미지가 있고 해당 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는 다음과 같습니다(concrete5의 표준 URL 재작성 구성표입니다).
# -- 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
이전 호스트에 액세스할 수 있는 경우(댓글에서 설명한 것처럼 들림) 이전 사이트의 문서 루트에 배치하면 규칙이 작동해야 합니다.
RewriteCond %{HTTP_HOST} ^(www.)?myurlstudio.com$
RewriteRule ^(.*)$ http://www.myurl.co.uk/$1 [L,R=301,QSA]
하지만 이는 오래된 요청만 리디렉션합니다. 이전 도메인이 결국 만료되는 경우 새 도메인을 참조하도록 사이트를 업데이트해야 합니다.