[WP] 워드프레스 htaccess 기본 설정 및 WWW URL 제거 방법

워드프레스로 사이트를 운영하는 중에 .htaccess 파일 기본 설정이 필요할 때가 있습니다. 워드프레스 htaccess 기본 설정은 일반 사이트와 멀티 사이트 용으로 나뉩니다. FTP 또는 SSH 등으로 .htaccess 파일이 없는 경우 확인이 되면 아래 내용을 참조해서 생성하면 되겠습니다.

✅ 워드프레스 htaccess 기본 설정: 일반 사이트

워드프레스 .htaccess 기본 설정(일반 사이트)은 다음과 같습니다.

# BEGIN WordPress
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress

✅ .htaccess 기본 설정: 멀티 사이트

🔲 하위 폴더 설정

# BEGIN WordPress Multisite
# Using subfolder network type: https://wordpress.org/documentation/article/htaccess/#multisite

RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]

# END WordPress Multisite

🔲 하위 도메인 설정

# BEGIN WordPress Multisite
# Using subdomain network type: https://wordpress.org/documentation/article/htaccess/#multisite

RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]

# END WordPress Multisite

✅ 워드프레스 WWW URL 제거: NON-WWW로 리디렉션

웹사이트의 SEO를 위해 또는 트랜드에 따르면 웹 사이트의 서브 도메인인 www는 점점 사용하는 추세가 줄어들고 있습니다. 크롬 앱에서도 www가 있는 사이트로 접속하더라도 마우스를 클릭해서 확인하기 전에는 www를 제거한 상태인 것이 그 반증이라 할 수 있겠습니다.

워드프레스에서 www URL 제거 방법은 크게 두 가지가 있습니다.(apache 기준) .htaccess 설정과 virtual host 파일을 수정하는 방법입니다.

🔲 .htaccess 설정

# BEGIN WordPress
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# HTTP와 www를 포함한 요청을 HTTPS(NON-WWW)로 리디렉션
RewriteCond %{HTTPS} off [OR]
    RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
    RewriteRule ^(.*)$ https://mydomain.com$1 [R=301,L]
# END WordPress

🔲 virtual host 파일 설정

<VirtualHost *:80>
    ServerName mydomain.com
    ServerAlias *.mydomain.com
# HTTP와 www를 포함한 요청을 HTTPS(NON-WWW)로 리디렉션
    RewriteEngine On
    RewriteCond %{HTTPS} off [OR]
    RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
    RewriteRule ^(.*)$ https://mydomain.com$1 [R=301,L]
</VirtualHost>
<IfModule mod_rewrite.c>
  RewriteEngine On
 </IfModule>

위 두 가지 설정이 되려면 개인 서버에서는 http.conf 파일 등에 RewriteEngine 설정이 전역 설정으로 되어 있어야 합니다. 직접 운영하는 서버가 아닌 경우 .htaccess 파일에서 설정을 하게 되는데 설정 후에도 적용이 되지 않는다면 사용 중인 호스팅 업체에 문의하면 되겠습니다.

워드프레스 작업

Similar Posts

  • 워드프레스 DB Collation: utf8mb4_unicode_520_ci

    워드프레스 전용 서버를 구축하기 위한 준비를 APM 설치 후 테스트 도메인으로 워드프레스를 설치했다. 설치 후 데이터베이스를 확인해 보니 워드프레스 DB Collation이 utf8mb4_general_ci가 아닌 utf8mb4_unicode_520_ci로 확인되었다. 워드프레스 utf8mb4_unicode_520_ci가 표준이었나 생각하다가 구글링 후 워드프레스 utf8mb4_unicode_520_ci가 표준이라는 것을 확인했다. 예전에 시간적 여유가 있을 때 utf8mb4_general_ci를 사용했었고 그때는 utf8mb4_general_ci가 표준이었는지 모르겠지만 지금 생각해보니 예전에도 표준 정렬은 unicode_ci를…

  • 워드프레스 FTP 자격증명 해제 방법 2가지

    직접 운영하게 되는 서버 또는 그에 준하는 권한을 가진 서버에 워드프레스를 설치하게 되면 테마와 플러그인 설치 및 업데이트를 진행하게 됩니다. 이때 나타나는 것이 워드프레스 FTP 자격증명 요청 사항입니다. 관리형이 아닌 설치형 워드프레스에서 사용하는 서버 계정의 정보를 알고 있겠지만 FTP 자격증명이 굳이 필요한 사항은 아닙니다. 크게 두 가지 방법으로 해결이 가능합니다. FTP 정보를 항상…

  • 검증 받은 워드프레스 SEO 플러그인 BEST 5

    운영하는 워드프레스 웹사이트가 광고 외 유기적인 트래픽이 필요한 블로그이거나 관련 비즈니스 사이트일 경우 워드프레스 SEO 플러그인은 워드프레스 운영 중에 필요한 필수 플러그인 항목에 포함 시켜야 합니다. 워드프레스를 사용한다면 SEO 플러그인을 사용해야 하는 이유는 온페이지 SEO 및 테크니컬 SEO를 손 쉽게 구축할 수 있기 때문입니다. 이를테면 내부 링크와 백링크, SEO 감사, 타이틀 태그 및…

  • [WP-Linux] 아이노드란? 워드프레스 호스팅 Inode 주 원인은 많은 사진 양.

    아이노드Inode는 Linux/Unix 파일 시스템에서 사용되는 자료 구조입니다. 모든 파일과 디렉토리는 1개의 아이노드를 가지고 으며,각 1개의 아이노드는 64Byte로 이루어져 있습니다. 워드프레스 호스팅을 사용하면서 Inode 수가 많아지다 체크하게 되었습니다. 디렉토리 내용을 확인할 수 있는 ls 명령어에 -i 옵션을 주었을 경우 inode 갯수를 확인할 수 있습니다. 목차✅ 워드프레스 htaccess 기본 설정: 일반 사이트✅ .htaccess 기본 설정:…

  • 워드프레스 테마 설치 및 활성화

    워드프레스 테마 설치 방법 및 활성화 방법입니다. 목차✅ 워드프레스 htaccess 기본 설정: 일반 사이트✅ .htaccess 기본 설정: 멀티 사이트🔲 하위 폴더 설정🔲 하위 도메인 설정✅ 워드프레스 WWW URL 제거: NON-WWW로 리디렉션🔲 .htaccess 설정🔲 virtual host 파일 설정1. 워드프레스 테마 설치하기 워드프레스 관리자 페이지에 접속했다면 좌측 [외모] > [테마] 탭으로 이동합니다. 설치된 기본 테마가…

  • WP Rocket 설정 가이드: 직관적 UI, 워드프레스 캐시 플러그인 $59의 가치

    WP Rocket은 워드프레스 캐시 플러그인입니다. 이 콘텐츠는 직관적인 인터페이스와 설정으로 관리하기 쉬운 WP Rocket 기본 설정 방법을 설명합니다. 설정 이후 크롬 개발자 도구와 구글 페이지 스피드의 속도 테스트를 진행합니다. 간편한 설정과 함께 추가 기능의 80% 정도가 자동으로 작동하여 별도의 복잡한 관리 없이도 높은 효과를 발휘합니다. 목차✅ 워드프레스 htaccess 기본 설정: 일반 사이트✅ .htaccess…

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Prove your humanity: 6   +   8   =