Languages: English • Italiano • URL の変更 日本語 한국어 • (Add your language)
워드프레스 사이트를 사용하시다보면, 사이트의 접속 URL을 변경해야할 필요가 있는 경우가 있습니다. 아래 내용은 그런 경우 사이트 URL을 변경하는 모든 과정을 담고 있습니다. 우선, 관리자 페이지(/wp-admin)에서 '설정'->'일반설정' 화면을 보면, 워드프레스 주소(URL)과 사이트 주소(URL)을 입력할 수 있는 2개의 입력칸이 있습니다. 이것들은 아시다시피 Home 그리고 Site URL 설정들입니다. 이것들은 워드프레스 URL과 관련한 중요한 부분입니다. 이 설정값에 따라 화면에 보여지는 컨텐츠와 사이트 내용, 그리고 관리자 영역, 그리고 각종 페이지, 사용자단(프론트엔드) 그리고 여러 워드프레스 코드에서 사용이 됩니다.
알림 : 두 가지 설정 모두 http:// 를 포함하고 있어야 하며, 마지막 슬래시("/")는 포함하지 않습니다.
이 문서는 사용자분들 중에서 일부 수동으로 사이트 주소 일부 또는 전부를 변경하길 원하는 분들을 위한 것입니다. 여기에는 그런 방법들이 나열되어 있습니다. 그러나 사이트 주소를 옮기는 작업 이외에 사이트가 접속이 되지 않거나 에러가 난 경우에는 이 문서에서 제시하는 방법들을 사용하지 마시기 바랍니다. .
여기에 4가지 쉬운 방법으로 사이트 URL를 변경하는 방법이 있습니다. 어떤 방법을 선택하던지 동일한 기능을 합니다.
수동으로 사이트 주소를 변경하는 방법이 있습니다. 이 방법은 wp-config.php 파일의 내용을 추가하는 방법으로 이루어 집니다.
워드프레스가 설치된 곳 최상위에서 wp-config.php 파일을 찾으신 뒤에 해당 파일에 아래와 같은 코드를 추가해 줍니다.
변경하려는 사이트의 주소가 http://example.com 인경우 아래와 같이 2줄을 추가하여 줍니다.
define('WP_HOME','http://example.com'); define('WP_SITEURL','http://example.com');
이 방법은 최선의 방법은 아닙니다. 다만, 사이트에 하드코딩을 하지 않아도 되면, 단지 wp-config.php 파일만의 수정으로 적용이 된다는 점에서 추천할 수 있는 방법입니다.
이 방법은 일반적인 셋팅 페이지나 포스트에만 적용되는 방법으로 테마나 특정 플러그인에서 사용되는 내용들의 경우에는 적용되지 않을 수 있습니다.
만약, FTP클라이언트로 사이트에 접근 할 수 있다면, 이 방법이 도움이 될것이다.
1. FTP로 사이트에 접속하여 현재 사용중인 테마의 functions.php 파일을 다운로드 또는 복사한다. 이후에 텍스트 에디터 프로그램(메모장 같은 것들)으로 수정한 뒤에 사이트에 업로드 한다.
2. functions.php에 아래 2줄의 내용을 추가한다. 추가할 때에는 반드시 "<?php"로 시작하는 줄 다음에 해당 내용을 추가해야 한다. 사이트 주소가 http://example.com 인 경우 아래와 같이 추가한다.
update_option('siteurl','http://example.com'); update_option('home','http://example.com'); 내용이 적용되어 나타날 것입니다.
5. 위 방법을 이용하되, 반복해서 사용하면 안된다. 한번 사용한 뒤에 해당 줄의 내용을 제거하여 다시업로드 해야 한다. 계속 해당 라인을 삭제하지 않고 사용한다면 사이트 동작시마다 매번 해당 작업을 하기 때문에 사이트에 성능 문제가 발생할 수 있다. 가능하다면 작업이 완료된 이후에 제거하여 주십시오.
만약, 해당 테마에 functions.php 파일이 없는 경우:
새로 "functions.php" 텍스트 파일을 생성하여 아래의 내용을 입력하고 저장한 뒤에 사용중인 테마 폴더에 업로드 합니다. 사이트 주소는 http://example.com 인 경우입니다.
<?php update_option('siteurl','http://example.com'); update_option('home','http://example.com'); ?>
물론 이 경우에도, 작업을 한 뒤에 해당 파일을 삭제하거나 해당 라인을 삭제하여 다시 업로드 하여주셔야 합니다.
워드프레스가 지원하는 자동 재배치 방법을 사용하면 빠르게 사이트를 다른 서버로 이전할 수 있습니다.
다음 챕터에 나오는 부분을 보면, wp-config.php 파일에 RELOCATE 부분을 true 로 정의한 경우 wp-login.php 에 있는 다음 코드를 따라 실행하도록 되어 있습니다.
if ( defined( 'RELOCATE' ) && RELOCATE ) { // Move flag is set
if ( isset( $_SERVER['PATH_INFO'] ) && ($_SERVER['PATH_INFO'] != $_SERVER['PHP_SELF']) )
$_SERVER['PHP_SELF'] = str_replace( $_SERVER['PATH_INFO'], , $_SERVER['PHP_SELF'] );
$url = dirname( set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] ) ); if ( $url != get_option( 'siteurl' ) ) update_option( 'siteurl', $url ); }
1. wp-config.php파일을 에디터로 열어 편집합니다.
2. "define" 으로 지정되어 있는 부분들 다음에 새로운 줄을 추가하며, 다음 코드를 입력합니다 : define('RELOCATE',true);
3. wp-config.php 파일을 저장합니다.(또는 저장하여 FTP에 업로드합니다)
4. 웹 브라우저를 여시고, 새로운 서버위의 wp-login.php 에 wp-config.php 파일을 수동적으로 위치시키세요. 예를 들면, 새 사이트가 http://www.yourdomainname.com 에 위치해 있을때, 브라우저 바에 http://www.yourdomainname.com/wp-login.php를 입력하세요.
5. 일반적으로 로그인을 합니다.
6. 사이트가 당신이 소유했다는 것을 증명하기 위해서, 웹브라우저의 주소바를 살펴보세요. 실제로, 정확한 서버에 로그인이 되었는지 확인해야합니다. 이 경우라면, 관리자 화면에서 Settings (설정) > General(일반) 을 살펴보세요 그리고 주소와 셋팅들이 정확한 것인지 대해서 확실하게 해줘야합니다. Save Changes (변경사항 저장하기) 를 잊지마세요.
7. 한번 이렇게 수정됬을 때, wp-config.php 를 수정하세요 그리고 추가한 라인, (//
와 함께) 주석을 달았던 라인을 완전하게 지우거나 (전체 라인을 삭제하세요), 만약 또다시 주소를 변경할 것이라고 생각된다면 , true
값을 false
로 변경하세요.
알림: RELOCATE 플래그를 true 로 설정했을때, Site URL 은 로그인 스크린을 접근하기 위해서 사용하는 path라면 무엇이든지 자동적으로 업데이트 시켜버릴 것입니다. 이것은 아마도 admin 부분을 위로 불러오고 새로운 URL 위에서 작동하는 것을 불러올 것입니다. 그러나 또다른 설정 부분이 부정확하다면 이것은 작동되지 않을 것입니다. 이럴경우에는 수동적으로 수정해야만 할 것입니다.
만약 당신이 phpMyAdmin에 접근할 수 있다면, 아래 방법을 통해서 사이트 URL을 직접 수정하여 바로 사용할 수 있습니다.
When moving sites from one location to another, it is sometimes necessary to manually modify data in the database to make the new site URL information to be recognized properly. Many tools exist to assist with this, and those should generally be used instead of manual modifications.
This is presented here as information only. This data may not be complete or accurate.
You should read the Moving WordPress article first, if attempting to move WordPress from one system to another.
Like many WordPress administrators, you may be running several WordPress installations off of one database using various wp-config.php hacks. Many of these hacks involve dynamically setting table prefixes, and if you do end up altering your table prefix, you must update several entries within the prefix_usermeta table as well.
As in the above section, remember that SQL changes are permanent and so you should back up your database first:
If you are changing table prefixes for a site, then remember to alter the table prefix in the usermeta tables as well. This will allow the new site to properly recognize user permissions from the old site.
UPDATE `newprefix_usermeta` SET `meta_key` = REPLACE( `meta_key` , 'oldprefix_', 'newprefix_' );
만약 테마를 사용하고 있다면, 각각의 템플릿 파일을 검색하여 수동으로 직접 예전 도메인 주소를 새로운 도메인 주소로 수정해야 할 수 있습니다. 이 과정은 경우에 따라서는 대단히 오래 걸릴 수 있으며, 테마에서 지원하지 않을 경우 성공하지 못할 수 도 있습니다. (테마를 수정하기에 어려움이 있는 분들은 시도하지 마시기 바랍니다) 템플릿 파일은 다음과 같은 파일들이 있으며, 수정이 필요할 수 있습니다 : sidebar.php and footer.php
워드프레스는 템플릿 코드를 통해서 사이트 주소를 입력하여 사용할 수 있습니다. 관리자 페이지 > 설정 > 일반 페이지에서 입력한 사이트 주소를 사용합니다. 만약 해당 코드를 사용하는 테마라면 모든 파일을 수정할 필요가 없습니다.
You will need to update your WordPress configuration file if your database has moved or changed in certain ways.
At this point, your WordPress blog should be working.
After changing the information in your Administration > Settings > General panel, you will need to update your .htaccess file if you are using Permalinks or any rewrites or redirects.
If you make a mistake, you can Restoring Your Database From Backup from your backup and try this again. So make sure it is right the first time.
There are other things you may wish to change in order to correct URLs when moving sites.
How To: Move Your WordPress Blog to a New Domain - Using the Export/Import feature to move a blog to a new domain
When doing the above and changing the URLs directly in the database, you will come across instances of the URL being located in the "guid" column in the wp_posts tables.
It is critical that you do NOT change the contents of this field.
The term "GUID" stands for "Globally Unique Identifier". It is a field that is intended to hold an identifier for the post which a) is unique across the whole of space and time and b) never, ever changes. The GUID field is primarily used to create the WordPress feeds.
When a feed-reader is reading feeds, it uses the contents of the GUID field to know whether or not it has displayed a particular item before. It does this in one of various ways, but the most common method is simply to store a list of GUID's that it has already displayed and "marked as read" or similar.
Thus, changing the GUID will mean that many feedreaders will suddenly display your content in the user's reader again as if it was new content, possibly annoying your users.
In order for the GUID field to be "globally" unique, it is an accepted convention that the URL or some representation of the URL is used. Thus, if you own example.com, then you're the only one using example.com and thus it's unique to you and your site. This is why WordPress uses the permalink, or some form thereof, for the GUID.
However, the second part of that is that the GUID must never change. Even if you shift domains around, the post is still the same post, even in a new location. Feed readers being shifted to your new feeds when you change URLs should still know that they've read some of your posts before, and thus the GUID must remain unchanged.
Never, ever, change the contents of the GUID column, under any circumstances.
One exception is attachment media: Attachment media locations are stored as a URL in the GUID. If the default uploads folder needs to be changed to a different location, then the media URL will need to be changed in the post_content and guid columns of the posts table. For example, if the default uploads folder is changing from wp-content/uploads to images:
UPDATE wp_posts SET post_content = REPLACE(post_content,'www.domain.com/wp-content/uploads','www.domain.com/images');
UPDATE wp_posts SET guid = REPLACE(guid,'www.domain.com/wp-content/uploads','www.domain.com/images');
Moving WordPress Multisite 내용을 참고하세요.
wp-cli 는 쉘툴로 서버 관리자가 쉘에서 사용가능한 경우 유용한 방법입니다. 해당 쉘 툴을 설치하신 뒤에 아래 명령을 입력해서 사용하시면 됩니다.
wp search-replace 'http://example.dev' 'http://example.com'
로 하거나, 혹은 옵션만 변경하고 싶다면 아래와 같이 하면 됩니다.
wp option update home 'http://example.com' wp option update siteurl 'http://example.com'