기능 소개
.htaccess 생성기는 가장 흔한 작업을 위한 Apache 설정 파일을 작성해 줍니다. HTTPS 강제, www.example.com과 example.com 중 하나로 통일, 영구 301 리디렉션, 사용자 지정 404 페이지, gzip 압축, 브라우저 캐싱, 보안 헤더, CORS, 이미지 핫링크 방지, 싱글 페이지 앱용 폴백을 지원합니다.
각 기능은 스위치 하나로 켜고 끕니다. 옵션을 바꾸면 파일이 바로 갱신되고, 블록마다 짧은 설명 주석이 붙으며, 모듈별 규칙은 <IfModule>로 감싸서 모듈이 없어도 사이트가 계속 동작합니다.
사용 방법
- 도메인을 입력합니다(www 규칙과 핫링크 규칙에 필요합니다).
- 원하는 기능을 켭니다. HTTPS 강제와 www 접두사는 하나의 리디렉션으로 합쳐지므로 방문자가 두 번 리디렉션되지 않습니다.
- 301 리디렉션을
old new쌍으로;로 구분해 추가합니다. 예:/old-page /new-page; /blog https://blog.example.com. - 결과를 복사하거나 다운로드를 눌러
.htaccess로 저장합니다. - 사이트의 문서 루트에 업로드하고 몇 가지 URL을 테스트합니다. 가능하면 스테이징 서버에서 먼저 테스트하세요.
예시
example.com에서 HTTPS를 강제하고 www를 제거하면 다음과 같이 생성됩니다.
<IfModule mod_rewrite.c>
RewriteEngine On
# Force HTTPS and remove www
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^example\.com$ [NC]
RewriteRule ^ https://example.com%{REQUEST_URI} [L,R=301]
</IfModule>
팁
- 301 리디렉션은 브라우저에 캐시됩니다. 테스트할 때는 시크릿 창을 쓰거나 캐시를 지우세요.
- HSTS(HTTPS를 강제할 때 보안 헤더에 포함됨)는 모든 하위 도메인에서 HTTPS가 동작하는 것을 확인한 뒤에 켜세요.
- 클라이언트 측 라우팅을 쓰는 React, Vue, Angular 앱에는 SPA 폴백을 사용하세요.
자주 묻는 질문
› .htaccess 파일은 어디에 두나요?
Apache 서버에서 사이트의 문서 루트(index.html이나 index.php가 있는 폴더)에 둡니다. 규칙은 그 아래의 모든 폴더에도 적용됩니다.
› Nginx에서도 작동하나요?
아니요. .htaccess는 Apache와 LiteSpeed 같은 호환 서버만 읽습니다. Nginx에서는 같은 규칙을 자체 서버 설정에 작성해야 합니다.
› 업로드한 뒤 500 오류가 나는 이유는 무엇인가요?
보통 파일에서 사용하는 모듈이 활성화되어 있지 않기 때문입니다. 각 블록은 <IfModule>로 감싸져 있지만, 호스팅 업체가 AllowOverride로 막아 두면 mod_rewrite 규칙과 Options -Indexes는 여전히 실패할 수 있습니다. 섹션을 하나씩 지워 가며 원인을 찾으세요.
› 리디렉션은 어떻게 작성하나요?
기존 경로와 새 URL 쌍을 세미콜론으로 구분해 입력합니다. 예: /old /new; /blog https://blog.example.com. 각 쌍이 영구 301 리디렉션이 됩니다.