.htaccess 파일(또는 "분산 구성 파일")은 디렉토리 구성을 변경하는 방법을 제공합니다. 즉, 사용자로서 해당 디렉토리와 모든 하위 디렉토리에 영향을 주는 하나 이상의 지시어가 포함된 파일을 배치합니다. 사용할 수 있는 명령은 제한되어 있습니다. 관리자는 Apache의 AllowOverride 지시문을 통해 이를 설정할 수 있습니다.
- 하위 디렉터리의 지시어는 상위 수준 디렉터리나 주 서버 구성 파일의 지시어보다 우선 적용됩니다.
- .htaccess는 ASCII 모드로 업로드해야 하며 권한은 644로 설정하는 것이 좋습니다.
오류 문서 위치
일반적인 클라이언트 요청 오류 반환 코드:
401 인증 필요
403 금지됨
404 찾을 수 없음
405 메서드가 허용되지 않음
408 요청 시간이 초과되었습니다.
411 콘텐츠 길이 필요
412 전제조건 실패
413 요청 엔터티가 너무 깁니다.
414 요청 URI가 너무 깁니다.
415 지원되지 않는 미디어 유형
일반적인 서버 오류 반환 코드:
500 내부 서버 오류
사용자는 .htaccess를 사용하여 미리 만들어진 오류 알림 페이지를 지정할 수 있습니다. 일반적으로 사람들은 이러한 페이지를 배치하기 위해 오류와 같은 특수 디렉토리를 설정할 수 있습니다. 그런 다음 .htaccess에 다음 지침을 추가합니다.
오류문서 404 /errors/notfound.html
오류문서 500 /errors/internalerror.html
한 줄에 하나의 명령어입니다. 위의 첫 번째 지시사항의 의미는 404에 대한 것입니다. 즉, 필요한 문서를 찾을 수 없는 경우 페이지는 /errors 디렉토리에 notfound.html 페이지로 표시되어야 합니다. 구문 형식이 다음과 같다는 것을 확인하는 것은 어렵지 않습니다.
ErrorDocument 오류 코드/디렉터리 이름/파일 이름.확장자
메시지가 표시되는 정보가 거의 없는 경우 다음 예와 같이 특별한 페이지를 만들고 명령에서 HTML 번호를 직접 사용할 필요가 없습니다.
오류문서 401 "
이 페이지에 접근할 수 있는 권한이 없습니다. 포기해주세요!
"
문서 접근의 비밀번호 보호
.htaccess를 사용하여 디렉토리의 문서에 대한 액세스 사용자 및 해당 비밀번호를 설정하려면 먼저 .htpasswd 텍스트 문서를 생성해야 합니다. 예를 들면 다음과 같습니다.
정:y4E7Ep8e7EYV
여기의 비밀번호는 암호화되어 있으며 사용자는 .htaccess에서 지원하는 인코딩으로 비밀번호를 암호화하는 일부 도구를 찾을 수 있습니다. 이 문서는 www 디렉터리에 두지 않는 것이 가장 좋습니다. 더 안전한 www 루트 디렉터리 문서 외부에 두는 것이 좋습니다.
승인된 사용자 문서를 사용하면 .htaccess에 다음 지침을 추가할 수 있습니다.
AuthUserFile .htpasswd용 서버 디렉터리
AuthGroupFile /dev/null(승인된 액세스가 필요한 디렉터리)
인증 이름 비밀번호 입력
AuthType Basic(인증 유형)
사용자 wsabstract 필요(액세스가 허용된 사용자, 테이블의 모든 사용자를 허용하려면 require valid-user를 사용할 수 있음)
참고로 괄호는 공부할 때 추가한 설명입니다.
IP로부터의 액세스 거부
특정 정부 부서가 내 사이트의 콘텐츠에 액세스하는 것을 원하지 않으면 .htaccess에 해당 부서의 IP를 추가하여 해당 부서를 제외할 수 있습니다.
예를 들어:
주문 허용, 거부
210.10.56.32에서 거부
219.5.45에서 거부합니다.
모두에게 허용하다
두 번째 줄은 특정 IP를 거부하고, 세 번째 줄은 특정 IP 범위, 즉 219.5.45.0~219.2.45.255를 거부합니다.
모두를 거부하고 싶나요? 모두 거부를 사용하세요. IP뿐만 아니라 도메인 이름을 사용하여 설정할 수도 있습니다.
.htaccess 문서 보호
.htaccess를 사용하여 디렉토리를 비밀번호로 보호하는 경우 비밀번호 파일의 경로가 포함됩니다. 보안상의 이유로 다른 사람이 해당 내용을 볼 수 없도록 .htaccess를 보호해야 합니다. 이는 문서에 대한 권한과 같은 다른 방법으로 수행할 수 있습니다. 그러나 .htaccess 자체에서도 이를 수행할 수 있습니다. 다음 지시문을 추가하기만 하면 됩니다.
주문 허용, 거부
모두를 거부하다
URL 리디렉션
당사는 웹사이트를 재설계하거나, 문서를 이동하거나, 디렉토리를 변경할 수 있습니다. 이때 검색엔진을 통한 방문이나 다른 웹사이트의 링크가 잘못될 수 있습니다. 이 경우 다음 명령을 사용하여 이전 URL을 새 주소로 자동 리디렉션할 수 있습니다.
새 문서의 /이전 디렉터리/이전 문서 이름 주소를 리디렉션합니다.
또는 전체 디렉터리를 리디렉션합니다.
이전 디렉터리를 새 디렉터리로 리디렉션
기본 홈페이지 파일 변경
일반적으로 기본 홈페이지 파일 이름에는 default, index 등이 포함됩니다. 그러나 때로는 디렉터리에 기본 파일이 없지만 pmwiki의 pmwiki.php와 같은 특정 파일 이름이 있는 경우도 있습니다. 이 경우 사용자가 접근하기 위해 파일명을 기억하는 것이 번거롭다. 새로운 기본 파일 이름은 .htaccess에서 쉽게 설정할 수 있습니다.
DirectoryIndex 새 기본 파일 이름
여러 목록을 목록 사이의 우선순위를 나타내는 순서로 나열할 수도 있습니다. 예:
DirectoryIndex 파일 이름.html index.cgi index.pl default.htm
핫링크 방지
다른 사람이 자신의 사진과 문서를 웹 페이지에 연결하는 것을 원하지 않는 경우 htaccess 명령을 통해 연결할 수도 있습니다.
필수 지침은 다음과 같습니다.
RewriteEngine 켜기
다시 쓰기Cond% !^$
RewriteCond % !^http://(www.)?mydomain.com...*$ [NC]
RewriteRule .(gif|jpg)$ - [F]
다른 사람의 페이지에 채광창을 열어 두는 것이 보기 좋지 않다고 생각되면 대신 사진을 사용할 수 있습니다.
RewriteEngine 켜기
다시 쓰기Cond% !^$
RewriteCond % !^http://(www.)?mydomain.com...*$ [NC]
RewriteRule .(gif|jpg)$ http://www.mydomain.com/replacement 이미지 파일 이름 [R,L]
출처:http://wsabstract.com/howt...