리눅스 .htaccess

IT위키
아이리움 (토론 | 기여)님의 2021년 2월 7일 (일) 16:24 판

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

활성화

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

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

활용

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]


이름 변경

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

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