리눅스 .htaccess

From CS Wiki

아파치 웹서버에서 디렉터리 별로 웹서버 설정을 다르게 설정할 수 있도록 설정 값을 적용하는 파일

활성화[edit | edit source]

아파치 설정(httpd.conf 등)에서 AllowOverride를 허용해줘야 한다.

  • 예를 들어 home/*/public_html 하위 디렉터리에서 모든 재설정을 허용해주고 싶다면 아래와 같은 구문 추가
<Directory "/home/*/public_html">
    AllowOverride all
</Directory>
  • 보안 등을 위해 최소한의 재설정만 가능하도록 제한해 주는 것을 권장
<Directory "/home/*/public_html">
    AllowOverride FileInfo AuthConfig Limit Indexes
</Directory>

활용[edit | edit source]

rewrite 규칙을 적용하는 등 많은 설정 값을 오버라이드할 수 있다.

  • ex) http를 https로 변경하고 www를 삭제하는 rewrite rule 적용
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [L,NE,R=301]

이름 변경[edit | edit source]

아파치 설정(httpd.conf 등)에 AccessFileName 옵션을 통해 원하는 파일명으로 변경 가능

  • 예를 들어 .htaccess가 아닌 .config로 변경하고 싶다면 아래와 같은 구문 추가
AccessFileName .config