.htaccess의 기초 : 사용 방법 및 예

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

.htaccess 파일은 Apache HTTP Server (일반적으로 Apache라고 함) 구성 파일입니다. 이 파일은 매우 강력하며 Apache에서 제공하는 웹 페이지의 여러 측면을 제어하는 ​​데 사용할 수 있습니다. 여기에는 리디렉션 관리, 핫 링크 보호 등이 포함됩니다..


.htaccess 파일은 어디에 있습니까?

웹 호스트 루트 폴더에는 웹 사이트의 내용이 들어있는 폴더 (보통 / public_html 또는 / www)가 하나 있습니다..

호스팅 계정에 둘 이상의 .htaccess 파일이있을 수 있지만 각 디렉토리 또는 폴더에는 하나만있을 수 있습니다. 예를 들어 루트 폴더와 하위 폴더에 별도의 .htaccess 파일이있을 수 있습니다. 이를 통해 디렉토리 구조에 따라 다른 서버 동작을 설정할 수 있습니다.

.htaccess 파일은 강력하지만 올바르게 보호되지 않으면 액세스하고 수정할 수 있습니다. 이 파일에 액세스하지 못하도록 조치를 취하십시오.

.htaccess 파일을 찾을 수 없습니다

우선 .htaccess는 Apache 파일이므로 Apache 서버에서만 찾을 수 있습니다. * 호스트가 다른 웹 서버 소프트웨어 (예 : Microsoft IIS 또는 NGINX)에서 실행중인 경우 검색을 중지하십시오..

점으로 시작하는 파일 이름은 일반적으로 숨겨진 파일입니다. 이는 일반적으로 기본적으로 표시되지 않음을 의미합니다.

이 파일을 보려면 FTP 클라이언트 또는 Hosting File Manager에서“Show Hidden Files”를 켜십시오 (아래 이미지 참조)..

.htaccess 파일 찾기-cPanel 파일 관리자에서 숨겨진 파일을 표시하는 방법예 – cPanel 파일 관리자에서이 옵션을 활성화하여 숨겨진 파일 표시.

.htaccess 파일은 코딩이 필요하기 때문에 불편하다고 생각할 수 있지만 여러 사이트에서 동일한 서버 동작을 설정해야하는 사용자를 고려하십시오. 그 사람이해야 할 일은 .htaccess 파일을 복제하는 것입니다..

.htaccess 파일은 서버 구성 파일이며 동작을 직접 처리하므로 요청이있을 때마다 무언가를 실행할 필요가 없습니다. 따라서 플러그인을 사용할 때보 다 리소스를 덜 사용합니다 (예 :.

* 참고 : Apache의 W3Techs 보고서에 따르면 약 30 %의 시장 점유율이 있습니다. WHSR에서 언급 된 가장 인기있는 호스팅 브랜드 – A2 Hosting, BlueHost, GreenGeeks, Hostinger, InMotion Hosting, SiteGround; 아파치에 의해 구동. 

.htaccess의 목적?

파일 이름 앞에 점이 있지만 htaccess는 파일 이름이며 점은 확장자가 아닙니다. 특히 Apache가 실행될 때 찾는 정확한 파일 이름입니다. .htaccess 파일 내의 모든 항목은 특정 조건이 충족 될 때 Apache가 기능을 활성화 또는 비활성화하거나 특정 작업을 실행하도록 매개 변수를 설정합니다..

예를 들어 파일에 포함 된 지침에 따라 웹 사이트 방문자가없는 리소스를 찾는 경우 Apache는 자동으로 사용자 정의 오류 페이지를로드 할 수 있습니다. 각 오류 유형에는 고유 코드가 있으며 각 오류 유형을 개별적으로 리디렉션 할 수 있습니다.

.htaccess 파일을 사용하여 수행 할 수있는 작업 목록이 많이 있으며 오늘이 중 일부를 공유하겠습니다..

1. 사용자 정의 오류 페이지 관리

캡션 : 창의적으로 맞춤 설정된 404 오류 페이지의 예

기본 설정으로두면 대부분의 웹 서버 소프트웨어는 방문자에게 매우 황량한 오류 페이지를 보냅니다. 보다 사용자 친화적 인 (또는 최소한 제시 가능한) 오류 페이지를 표시하려면 .htaccess 파일에서 사용자 정의 오류 문서 처리를 사용해야합니다..

“404.html”이라는 사용자 지정 404 오류 페이지를 디자인하고이를 “error_pages”라는 웹 디렉토리의 하위 폴더에 저장했다고 가정 해 보겠습니다. .htaccess에서 다음 코드 줄을 사용하면 방문자가 404 오류가 발생할 때마다 해당 페이지를 호출 할 수 있습니다.

ErrorDocument 404 /error_pages/404.html

이 기술을 사용하면 설명하려는 각 개별 오류 유형의 사용자 정의 사본을 저장하고 .htaccess 파일에 필요한 코드를 포함시켜 호출하도록 설정할 수 있습니다. 가장 일반적으로 발생하는 오류 코드는 다음과 같습니다.

  • 400 잘못된 요청
  • 403 금지
  • 404 – 파일을 찾을 수 없음
  • 500 내부 서버 오류
  • 503 – 사용할 수없는 서비스

2. 리디렉션 처리

사용자가 모르는 사이에 특정 페이지로 방문자를 안내 할 수 있도록 담요 리디렉션을 설정하려는 경우가있을 수 있습니다. 예를 들어, 원래 HTTP를 사용했지만 이후 SSL을 설치하고 HTTPS로 이동 한 경우 모든 사용자가 사이트의 HTTPS 버전을 사용하도록하려는 경우.

이 상황에서는 다시 쓰기 규칙을 사용해야합니다.

RewriteEngine 켜기

RewriteCond % {SERVER_PORT} 80

RewriteRule ^ (. *) $ https://www.yourdomain.com/$1 [R, L]

이에 대한 코드는 필요에 따라 수정할 수 있습니다. 예를 들어, 기존 도메인의 사용자를 새로운 도메인으로 리디렉션하려면 다음을 사용하십시오.

RewriteEngine 켜기

RewriteCond % {HTTP_HOST} ^ olddomain.com [NC, OR]

RewriteCond % {HTTP_HOST} ^ www.olddomain.com [NC]

RewriteRule ^ (. *) $ http://newdomain.com/$1 [L, R = 301, NC]

리디렉션을 설정하는 방법에는 여러 가지가 있습니다. Rewrite 구문에 대한 자세한 내용은 Apache 설명서 페이지를 참조하십시오..

리디렉션을 통해 가장 유용한 작업 중 하나는 이동 한 페이지로 검색 엔진을 안내하는 것입니다. 일반적으로 검색 엔진은 링크를 색인으로 만들고 올바른 페이지를 찾을 수 없으면 콘텐츠가 사라진 것으로 간주합니다..

리디렉션을 사용하면 콘텐츠를 쉽게 이동하고 웹 크롤러에게 이전에 색인을 생성 한 콘텐츠를 찾을 수있는 위치를 알릴 수 있습니다. 그렇게하려면 다음을 사용하십시오.

301 / archive / / past-entries / 리디렉션

301 명령은 사용자가 이전 컨텐츠에 완벽하게 액세스 할 수있을뿐만 아니라 웹 크롤러에게 컨텐츠가 영구적으로 이동되었다는 지시 사항으로도 사용됩니다. 이렇게하면 링크를 빠르게 재 색인 할 수 있습니다..

3. 웹 사이트 보안 강화

많은 새로운 웹 사이트 소유자가 웹 사이트 보안을 강화하기 위해 외부 도구에 지나치게 의존하는 경향이 있습니다. 훌륭한 응용 프로그램이 많이 있다는 것은 사실이지만 .htaccess 파일의 기본 사항으로 시작할 수 있습니다.

비밀번호 보호 디렉토리

이렇게하려면 .htaccess와 .htpasswd라는 두 개의 파일이 필요합니다. .htpasswd 파일에는 암호화가 포함되어 있으므로 Htpasswd Generator와 같은 도구를 사용하여 파일을 작성하십시오. .htaccess 파일에는이 코드가 포함되어야합니다.

AuthType 기본

AuthName "비밀번호 보호 영역"

AuthUserFile /path/to/.htpasswd

유효한 사용자 필요

디렉토리 찾아보기 비활성화

이것은 가장 쉬운 방법 중 하나이며 .htaccess 파일에 포함 할 두 줄의 코드 만 있으면됩니다.

# 디렉토리 탐색 비활성화
옵션-색인

특정 IP 차단

개별 IP가 사이트를 방문하지 못하도록하려면 다음 코드를 .htaccess 파일에 추가하십시오.

XXX.XXX.XXX.XXX에서 거부

XXX를 숫자 IP 값으로 바꾸는 경우 이 코드에는 다양한 IP 주소 또는 여러 IP 주소를 차단하는 데 사용할 수있는 변형이 있습니다..

4. 핫 링크 보호

핫 링크는 다른 웹 사이트가 귀하가 호스팅하는 이미지에 링크 될 때 발생합니다. 공간과 대역폭을 모두 사용하기 때문에 바람직하지 않습니다. 이미지 핫 링크를 방지하려면 .htaccess 파일에 다음을 추가하십시오.

다시 쓰기 엔진

RewriteCond % {HTTP_REFERER}! ^ $

RewriteCond % {HTTP_REFERER}! ^ http : // (www \.) example.com/.*$ [NC]

RewriteRule \. (gif | jpg | jpeg | bmp) $-[F]

이 코드의 마지막 줄은 사이트에서 핫 링크를 차단할 파일을 지정하는 위치입니다. 기본적으로 Apache가 도메인 이름 http://www.example.com/이 아닌 파일에 대한 모든 링크를 차단하도록 지시합니다..

핫 링크를 자주하는 사람들은 종종 자신의 게시물을 다시 확인하지 않기 때문에 정말 당황스럽게하고 싶다면 핫 링크를 시도하는 사이트에 맞춤 메시지를 표시 할 수 있습니다.

다시 쓰기 엔진

RewriteCond % {HTTP_REFERER}! ^ $

RewriteCond % {HTTP_REFERER}! ^ http : // (www \.) example.com/.*$ [NC]

RewriteRule \. (gif | jpg) $ http://www.example.com/stopstealing.gif [R, L]

다음과 같이 문제가있는 사이트에 대체 이미지를 표시 할 수 있습니다.

.htaccess 파일 보호

지금까지 .htaccess 파일이 실제로 얼마나 유용한 도구인지 알고 있습니다. 그 실현에 이르렀 기 때문에이 귀중한 파일을 보호 할 생각입니다. .htpasswd 파일을 사용하는 경우 해당 파일을 보호하고 싶을 수도 있습니다.

# .htaccess 및 .htpasswd 보호

주문 허용, 거부

모두 거부

모두 만족

대부분의 보안 서버에서 이러한 파일은 이미 보호되어 있습니다. 이 코드를 추가하기 전에 브라우저 창에서 파일에 액세스 할 수 있는지 확인하십시오. URL을 입력하고 /.htaccess를 뒤에 추가하여 파일을 볼 수 있는지 확인하십시오. 당신이 할 수없는 경우 오류 메시지가 표시 될 수 있습니다.

6. 서버 시간대 설정

어떤 이유로 든 다른 이유로 서버의 시간이 약간 벗어난 것처럼 보이면 .htaccess 파일을 사용하여 시간대를 강제로 설정해야 할 수도 있습니다. 이는 다시 수행하기 쉽고 단 한 줄의 코드 만 있으면됩니다.

SetEnv TZ 아메리카 / 시간대

사용 가능한 시간대 목록이 많이 있으며 지원되는 시간대 목록을 참조하여 가장 가까운 시간대를 찾을 수 있습니다..

.htaccess의 힘을 받아들이십시오

여기에 표시된 샘플은 매우 큰 빙산의 일각에 불과합니다. 웹 호스팅 사용자는 일반적으로 제어판을 통해 허용되는 것보다 훨씬 많은 사이트 파워를 제공하고 작업 할 수있는 다양한 도구를 제공합니다..

코드를 사용하는 법을 배우는 것은 Google의 힘과 한 걸음 거리에 있으며, 가장 좋은 점은 사용하기 위해 필요한 것을 선택하고 배우기 만하면됩니다.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map