워드프레스 사이트를 사용하시다보면, 사이트의 접속 URL을 변경해야할 필요가 있는 경우가 있습니다. 아래 내용은 그런 경우 사이트 URL을 변경하는 모든 과정을 담고 있습니다. 우선, 관리자 페이지(/wp-admin)에서 '설정'->'일반설정' 화면을 보면, 워드프레스 주소(URL)과 사이트 주소(URL)을 입력할 수 있는 2개의 입력칸이 있습니다. 이것들은 아시다시피 Home 그리고 Site URL 설정들입니다. 이것들은 워드프레스 URL과 관련한 중요한 부분입니다. 이 설정값에 따라 화면에 보여지는 컨텐츠와 사이트 내용, 그리고 관리자 영역, 그리고 각종 페이지, 사용자단(프론트엔드) 그리고 여러 워드프레스 코드에서 사용이 됩니다.
- "Home" 설정은 브라우저에서 사용자들이 입력하여 접속하는 주소입니다.
- "Site URL" 설정은 워드프레스 코어 파일이 있는 주소입니다.
알림 : 두 가지 설정 모두 http:// 를 포함하고 있어야 하며, 마지막 슬래시("/")는 포함하지 않습니다.
이 문서는 사용자분들 중에서 일부 수동으로 사이트 주소 일부 또는 전부를 변경하길 원하는 분들을 위한 것입니다. 여기에는 그런 방법들이 나열되어 있습니다. 그러나 사이트 주소를 옮기는 작업 이외에 사이트가 접속이 되지 않거나 에러가 난 경우에는 이 문서에서 제시하는 방법들을 사용하지 마시기 바랍니다. .
사이트 URL 변경하기
여기에 4가지 쉬운 방법으로 사이트 URL를 변경하는 방법이 있습니다. 어떤 방법을 선택하던지 동일한 기능을 합니다.
wp-config.php 편집
수동으로 사이트 주소를 변경하는 방법이 있습니다. 이 방법은 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 파일만의 수정으로 적용이 된다는 점에서 추천할 수 있는 방법입니다.
이 방법은 일반적인 셋팅 페이지나 포스트에만 적용되는 방법으로 테마나 특정 플러그인에서 사용되는 내용들의 경우에는 적용되지 않을 수 있습니다.
functions.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');
3. 수정된 내용을 저장하고 해당 파일을 동일한 경로에 업로드한다. 파일질라를 사용하는 경우에는 파일편집 기능을 이용해서 사용하면 수정후 바로 업로드가 가능하다. 파일질라를 사용하는 경우에는 해당 방법을 이용하십시오.
4. 로그인 또는 관리자 페이지를 접속 한다. 사이트는 곧바로 변경된 내용이 적용되어 나타날 것입니다.
5. 위 방법을 이용하되, 반복해서 사용하면 안된다. 한번 사용한 뒤에 해당 줄의 내용을 제거하여 다시업로드 해야 한다. 계속 해당 라인을 삭제하지 않고 사용한다면 사이트 동작시마다 매번 해당 작업을 하기 때문에 사이트에 성능 문제가 발생할 수 있다. 가능하다면 작업이 완료된 이후에 제거하여 주십시오.
만약, 해당 테마에 functions.php 파일이 없는 경우:
새로 "functions.php" 텍스트 파일을 생성하여 아래의 내용을 입력하고 저장한 뒤에 사용중인 테마 폴더에 업로드 합니다. 사이트 주소는 http://example.com 인 경우입니다.
<?php update_option('siteurl','http://example.com'); update_option('home','http://example.com'); ?>
물론 이 경우에도, 작업을 한 뒤에 해당 파일을 삭제하거나 해당 라인을 삭제하여 다시 업로드 하여주셔야 합니다.
사이트 URL 재배치 방법
워드프레스가 지원하는 자동 재배치 방법을 사용하면 빠르게 사이트를 다른 서버로 이전할 수 있습니다.
코드 함수를 이용하는 방법
다음 챕터에 나오는 부분을 보면, 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. Open a web browser and manually point it to wp-login.php on the new server. For example, if your new site is athttp://www.yourdomainname.com, then type http://www.yourdomainname.com/wp-login.php into your browser's address bar.
5. Login as per normal.
6. Look in your web browser's address bar to verify that you have, indeed, logged in to the correct server. If this is the case, then in the Admin back-end, navigate to Settings > General and verify that both the address settings are correct. Remember to Save Changes.
7. Once this has been fixed, edit wp-config.php and either completely remove the line that you added (delete the whole line), comment it out (with //
) or change the true
value to false
if you think it's likely you will be relocating again.
Note: When the RELOCATE flag is set to true, the Site URL will be automatically updated to whatever path you are using to access the login screen. This will get the admin section up and running on the new URL, but it will not correct any other part of the setup. Those you will still need to alter manually.
데이터베이스에서 URL을 직접 변경하는 방법
만약 당신이 phpMyAdmin에 접근할 수 있다면, 아래 방법을 통해서 사이트 URL을 직접 수정하여 바로 사용할 수 있습니다.
- Backup your database and save the copy off-site.
- Login to phpMyAdmin.
- Click the link to your Databases.
- A list of your databases will appear. Choose the one that is your WordPress database.
- All the tables in your database will appear on the screen.
- From the list, look for wp_options. Note: The table prefix of wp_ may be different if you changed it when installing.
- Click on the small icon indicated as Browse.
- A screen will open with a list of the fields within the wp_options table.
- Under the field option_name, scroll down and look for siteurl.
- Click the Edit Field icon which usually is found at the far left at the beginning of the row.
- The Edit Field window will appear.
- In the input box for option_value, carefully change the URL information to the new address.
- Verify this is correct and click Go to save the information.
- You should be returned to your wp_options table.
- Look for the home field in the table and click Edit Field. Note There are several pages of tables inside wp_options. Look for the > symbol to page through them.
- In the input box for option_value, carefully change the URL information to the new address.
- Verify this is correct and click Go to save the information.
Moving Sites
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.
Altering Table Prefixes
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
워드프레스는 템플릿 코드를 통해서 사이트 주소를 입력하여 사용할 수 있습니다. 관리자 페이지 > 설정 > 일반 페이지에서 입력한 사이트 주소를 사용합니다. 만약 해당 코드를 사용하는 테마라면 모든 파일을 수정할 필요가 없습니다.
Changing the Config file
You will need to update your WordPress configuration file if your database has moved or changed in certain ways.
- You will only need to modify the config file if:
- your database has moved to another server and is not running on your localhost
- you have renamed your database
- you have changed the database user name
- "'Make a backup copy of your wp-config.php file.'"
- Open the wp-config.php file in a text editor.
- Review its contents. In particular, you are looking for the database host entry.
- Save the file.
At this point, your WordPress blog should be working.
Verify the Profile
- In your Administration Panels go to Settings > General . Here you will verify that the changes you made in Changing the URLabove, are correct.
- Verify that the reference in your WordPress Address (URL) contains the new address.
- Verify that the reference in your Site Address (URL) contains the new address.
- If you have made changes, click Save Changes.
Changing the .htaccess file
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.
- Make a backup copy of your .htaccess file. This is not a recommendation but a requirement.
- Open the .htaccess file in a text editor.
- Review its contents, looking for any custom rewrites or redirects you entered. Copy these to another text file for safe keeping.
- Close the file.
- Follow the instructions on the Permalinks SubPanel for updating your Permalinks to the .htaccess file.
- Open the new .htaccess file and check to see if your custom rewrites and redirects are still there. If not, copy them from the saved file and paste them into the new .htaccess file.
- Make any changes necessary in those custom rewrites and redirects to reflect the new site address.
- Save the file.
- Test those redirects to ensure they are working.
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.
Additional items of note
There are other things you may wish to change in order to correct URLs when moving sites.
- Images link: image links are stored in "post_content" in the wp_posts table. You can use the similar code above to update image links.
- wp_options: Besides the "siteurl" and "home" items mentioned above, there are other option_value which also need revision, such as "upload path", and some plugin items (depends on what you've installed, such as widgets, stats, DMSGuestbook, sitemap, etc.)
- To fix widgets that contain outdated URL's, you may edit them in Dashboard / Appearance / Widgets.
- Do a FULL database search for any items left. MAKE SURE you know what you are changing. and go through each item for possible improper replacement.
- If you a running a network / have multiple sites, you will need to replace instances of the URL in the database. They are stored in many tables, including each one of the sites (blogs). Be careful in what you replace and be sure you know the meaning of the field before changing it. See the Important GUID note below for an example of what not to change.
- Note, if you find your old url in the database options table under 'dashboard_incoming_links', you can ignore or delete that option. It's unused since WP 3.8.
How To: Move Your WordPress Blog to a New Domain - Using the Export/Import feature to move a blog to a new domain
Important GUID Note
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-cli 는 쉘툴로 서버 관리자가 쉘에서 사용가능한 경우 유용한 방법입니다. 해당 쉘 툴을 설치하신 뒤에 아래 명령을 입력해서 사용하시면 됩니다.
wp search-replace 'http://example.dev' 'http://example.com'
로 하거나, 혹은 옵션만 변경하고 싶다면 아래와 같이 하면 됩니다.
wp option update home 'http://example.com' wp option update siteurl 'http://example.com'
'작업 > 워드프레스' 카테고리의 다른 글
워드프레스 회원 등급 & 새로운 회원 등급 추가 (0) | 2015.03.19 |
---|---|
WordPress 사이트를 멀티 사이트로 변환 (0) | 2015.03.11 |
워드프레스 Jetpack xml_rpc-32700 오류 해결 방법 (0) | 2015.03.06 |
워드프레스 페이지 하단 스마일리 (0) | 2015.02.09 |
영문 워드프레스를 한글로 변경 (0) | 2014.09.30 |
댓글