귀하의 웹사이트를 위한 슈퍼무기 제작하기

워드프레스는 수많은 기술 및 비기술 사용자들이 웹사이트를 구축하고 관리하는 데 선호하는 콘텐츠 관리 시스템입니다. .htaccess는 서버 수준의 구성, 성능, 보안 설정을 추가하거나 변경하고자 할 때 자주 접하게 되는 용어 중 하나입니다.

본 문서에서는 워드프레스에서 .htaccess가 무엇인지, 그 중요성, 작동 방식에 대해 상세히 설명합니다. 또한 .htaccess 파일을 찾는 방법, 새로운 항목을 편집/생성하는 방법, 그리고 이를 효과적으로 관리하기 위한 최적의 방법들을 함께 살펴보겠습니다.

워드프레스에서 .htaccess란 무엇인가?

.htaccess는 대부분의 워드프레스 호스팅 업체에서 사용하는 아파치 웹 서버를 위한 설정 파일입니다. 간단히 말해, 아파치는 워드프레스 사이트의 서버 지침을 포함하는 모든 규칙을 담고 있는 파일입니다.

.htaccess 파일은 웹사이트의 ‘루트’, 즉 최상위 디렉토리에 위치한 숨겨진 파일입니다. 이 파일이 숨겨진 이유는 파일 이름이 마침표(.)로 시작하기 때문이며, 확장자가 없습니다. 이 파일은 영구 링크 설정, 리디렉션 관리, 보안 강화, 웹 페이지 접근 제어 등 웹사이트 운영에 필수적인 다양한 작업을 담당합니다.

워드프레스에서 .htaccess를 안전하게 찾고 편집하는 방법

대부분의 워드프레스 사이트에서는 .htaccess 파일이 기본적으로 숨겨져 있습니다. 이는 .htaccess 파일을 편집하는 것이 위험할 수 있으며, 간단한 실수 하나로 웹사이트가 손상될 수 있기 때문입니다. 이러한 숨김 처리는 예기치 않은 사고를 방지하기 위한 안전 조치입니다.

문제를 예방하기 위해 .htaccess 파일을 편집하기 전에는 반드시 준비 단계를 거치거나, 웹사이트 전체를 백업해 두어야 합니다. 이러한 접근법은 루트 파일을 편집하는 과정에서 발생할 수 있는 실수를 대비하여 복구할 수 있는 안전 장치를 마련해 줍니다.

HTTP 파일을 로컬 컴퓨터로 다운로드한 후, 로컬 환경에서 편집을 진행하고 모든 변경 사항이 예상대로 작동하는지 확인한 후에 업로드하는 방법도 있습니다.

FileZilla와 같은 프로그램을 사용하면 워드프레스 사이트 파일에 접근할 수 있습니다. 만약 이 주제에 처음 접한다면, FileZilla 연결 방법에 대해 먼저 알아보는 것이 좋습니다.

FileZilla를 통해 웹사이트에 접속하면, 다음과 같은 화면을 볼 수 있습니다.

왼쪽에는 사용자의 로컬 컴퓨터에 저장된 파일 목록이 표시되고, 오른쪽에는 워드프레스 사이트의 원격 파일들이 표시됩니다.

이제 루트 디렉토리(도메인 이름과 같은 이름으로 된 폴더)에 접근할 수 있습니다. .htaccess 파일을 찾을 때까지 아래로 스크롤한 다음, 마우스 오른쪽 버튼으로 클릭합니다. ‘보기/편집’ 아이콘을 클릭하여 선호하는 텍스트 편집기로 파일을 엽니다.

이제 .htaccess 파일을 원하는 대로 변경할 수 있습니다. 파일을 저장하고 닫으면, 새로운 변경 사항을 업로드할지 묻는 창이 나타납니다. ‘예’를 선택하면 변경 사항이 즉시 적용됩니다.

워드프레스에서 .htaccess를 만드는 방법

모든 워드프레스 사이트에서 .htaccess 파일이 기본으로 제공되는 것은 아닙니다. 그 이유는 사이트가 새로 생성되어 루트 디렉토리에 .htaccess 파일이 자동으로 생성되지 않았을 수 있기 때문입니다.

또 다른 이유는 웹사이트가 .htaccess를 지원하지 않는 Nginx 기술 스택을 사용하기 때문일 수 있습니다. 만약 두 번째 경우에 해당한다면, 사용자가 직접 제어할 수 있는 부분은 많지 않습니다.

하지만 여전히 웹사이트에서 아파치 서버를 사용하고 있다면, .htaccess 파일을 수동으로 만들 수 있습니다. 로컬 컴퓨터에서 Visual Studio Code와 같은 코드 편집기를 열고 새 파일을 생성한 후 이름을 ‘.htaccess’로 지정합니다. 그런 다음 다음 코드를 추가합니다.

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

이제 이 파일을 wp-admin 및 wp-content 폴더가 위치한 루트 폴더에 업로드합니다.

일반적인 워드프레스 작업에 .htaccess를 사용하는 방법

.htaccess 파일은 워드프레스 사이트에서 다양한 작업을 수행하는 데 활용될 수 있습니다. 예를 들어, 대부분의 보안 및 캐싱 플러그인은 .htaccess 파일을 사용하여 다양한 기능을 구현합니다. 이러한 플러그인은 .htaccess 파일을 수정하고 코드를 추가하여 여러 기능을 수행합니다. 다음은 .htaccess를 사용하여 수행할 수 있는 일반적인 작업 중 일부입니다.

#1. 영구 링크 구조 맞춤 설정

.htaccess 파일을 사용하여 페이지와 게시물의 URL 형식 및 구조를 맞춤화할 수 있습니다. 영구 링크는 웹사이트의 특정 게시물이나 페이지를 가리키는 고정 URL입니다. 워드프레스에서는 SEO 및 사용자 경험을 위해 URL을 사용자 정의할 수 있습니다.

이를 변경하려면 다음 단계를 따릅니다.

  • 워드프레스 관리자 대시보드에 로그인합니다.
  • ‘설정’ -> ‘고유 주소’ -> ‘사용자 정의 구조’로 이동합니다.
  • 원하는 영구 링크 사용자 정의 구조를 선택합니다.
  • 변경 사항을 저장합니다.

‘저장’ 버튼을 클릭하면 .htaccess 파일이 자동으로 업데이트됩니다.

#2. 리디렉션 설정

.htaccess 파일을 사용하여 HTTP에서 HTTPS 프로토콜로 모든 트래픽을 이동시키는 301 리디렉션을 설정할 수 있습니다. HTTPS 프로토콜을 사용하는 것은 워드프레스 사이트의 사용자와 서버 간 통신을 암호화하여 보안을 강화하는 방법 중 하나입니다.

301 리디렉션을 설정하려면 .htaccess 파일에 다음 코드를 추가하세요.

    <IfModule mod_rewrite.c>
      RewriteEngine On
      RewriteCond %{HTTPS} off
      RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    </IfModule>
    

또한, 트래픽을 임시 도메인으로 리디렉션할 수도 있습니다. 예를 들어, 도메인 이름이 www.yourdomain.com이고, 이를 ‘temporarydomain.com’으로 리디렉션하려는 경우 다음 코드를 사용할 수 있습니다.

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{HTTP_HOST} !^www\.yourdomain\.com$
  RewriteRule ^ https://temporarydomain.com%{REQUEST_URI} [L,R=302]
</IfModule>

#3. 보안 강화

.htaccess 파일을 사용하여 다양한 방법으로 워드프레스 사이트의 보안을 강화할 수 있습니다. 예를 들어, 유효한 사용자가 필요하도록 비밀번호를 설정하여 특정 디렉토리에 대한 접근을 제한할 수 있습니다. 다음은 .htaccess 파일에 추가할 수 있는 코드 예시입니다.

<Files "*">
  AuthType Basic
  AuthName "Restricted Area"
  AuthUserFile /path/to/.htpasswd
  Require valid-user
</Files>

위 코드에서 ‘/path/to/.htpasswd’를 실제 비밀번호 파일 경로로 바꿔야 합니다.

#4. 맞춤 오류 메시지 제공

웹 페이지에 접근하려 할 때 “페이지를 찾을 수 없습니다.”라는 메시지를 본 적이 있을 것입니다. 이는 유효하지 않은 리소스에 접근하려 할 때 워드프레스 사이트에서 흔히 나타나는 기본 오류 메시지입니다. 이러한 메시지를 .htaccess를 통해 사용자 정의할 수 있습니다. 다음 코드를 추가하여 맞춤 오류 메시지를 설정할 수 있습니다.

# Custom Error Messages
ErrorDocument 400 /errors/400.html
ErrorDocument 401 /errors/401.html
ErrorDocument 403 /errors/403.html
ErrorDocument 404 /errors/404.html
ErrorDocument 500 /errors/500.html

이제 웹사이트에 표시하고자 하는 각 오류에 대한 HTML 파일을 생성하여 지정된 경로에 배치할 수 있습니다.

.htaccess 관리 모범 사례

  • .htaccess 파일을 직접 편집하지 마십시오. 주의하지 않으면 웹사이트의 핵심 코드를 손상시킬 수 있습니다. 준비 환경이나 코드 편집기에서 변경 사항을 미리 검토한 후 업로드하는 것이 안전합니다.
  • 파일을 편집하기 전에 백업하세요. 파일 편집 중에 문제가 발생할 수 있으므로, 문제가 생길 경우 복원할 수 있도록 항상 웹사이트를 백업해 두십시오. 호스팅 업체에서 제공하는 백업 서비스를 이용하거나, 외부 서비스를 활용할 수 있습니다.
  • 워드프레스 핵심 규칙 이해: 워드프레스는 기술적인 자유도를 제공하지만, .htaccess가 제대로 작동하기 위한 규칙을 이해해야 합니다. 핵심 규칙을 덮어쓰거나 변경하지 않도록 주의해야 합니다.
  • 업데이트하기 전에 변경 사항을 확인하십시오. 디버깅은 개발 과정에서 필수적입니다. 저장하기 전에 변경 사항을 반드시 검토하십시오. 게시 전에 준비 환경에서 테스트하여 변경 사항이 예상대로 작동하는지 확인하는 것이 좋습니다.

워드프레스의 .htaccess 대안

.htaccess 파일은 아파치 웹 서버에서 주로 사용됩니다. 하지만, .htaccess를 사용하지 않는 워드프레스 사이트도 있습니다. 다음은 .htaccess를 대체하는 몇 가지 방법입니다.

  • 모두 거부: 모든 PHP 파일에는 해당 파일이 제공되는 것을 막는 가드가 있습니다. Nginx는 워드프레스 사이트의 다른 모든 정적 파일을 제공합니다. Nginx 규칙을 추가하여 .htaccess 규칙 중 일부를 재현할 수 있습니다.
  • 사용자 정의 PHP 코드: 사용자는 기본 테마나 플러그인을 수정하여 .htaccess와 유사한 기능을 구현할 수 있습니다. 그러나 일부 테마나 플러그인은 편집을 허용하지 않을 수 있습니다.
  • PHP 검사: 사용자는 User-Agent 헤더($_SERVER[‘HTTP_USER_AGENT’])를 검사하여 사용자의 환경 설정을 사용자 정의할 수 있습니다.

자주 묻는 질문

.htaccess 파일이란 무엇입니까?

.htaccess는 아파치 웹 서버를 위한 설정 파일입니다. 영구 링크 표시, 파일 접근 제어, 리디렉션 관리와 같은 서버 지침을 제공하며, 워드프레스 사이트의 ‘루트’ 디렉토리에 위치하며 확장자가 없습니다.

모든 워드프레스 사이트에 .htaccess 파일이 있나요?

아닙니다. .htaccess 파일은 아파치 웹 서버를 사용하는 사이트에만 해당됩니다. 아파치 서버를 사용하더라도 잘못된 설정으로 인해 파일이 없을 수도 있습니다. 다행히 .htaccess 파일을 수동으로 만들어서 워드프레스 사이트의 루트 폴더에 업로드할 수 있습니다.

.htaccess 파일을 편집할 때 어떤 예방 조치를 취해야 합니까?

워드프레스의 핵심 파일을 편집하는 것은 위험할 수 있습니다. 하지만 올바른 예방 조치를 취하면 안전하게 편집할 수 있습니다. 파일 편집을 시작하기 전에 반드시 웹사이트를 백업해야 하며, 준비 환경을 활용하여 변경 사항을 테스트하는 것도 중요합니다.

결론

이 글을 통해 .htaccess 파일이 무엇인지, 어떻게 찾고, 편집하고, 여러 작업에 사용하는지에 대해 충분히 이해하셨기를 바랍니다. 웹사이트 전체를 손상시킬 수 있는 실수를 방지하려면, .htaccess 파일을 편집하기 전에 준비 환경을 활용하거나 사이트 파일을 백업해야 합니다. 또한, 일부 웹사이트는 .htaccess 대신 다른 방법을 사용하여 핵심 기능을 관리하기도 하므로, 모든 웹사이트에 .htaccess 파일이 있는 것은 아니라는 점도 알아두시면 좋습니다.

다음으로, 워드프레스 유지 관리 모드를 활성화하고 비활성화하는 방법에 대해서도 살펴보시기 바랍니다.