.htaccess의 기본 : 사용법과 예제

작성자 :
  • 호스팅 가이드
  • 업데이트 : 7 월 29, 2019

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

.htaccess 파일은 SlimCleaner (보통 아파치라고 부름) 설정 파일. 이 파일은 매우 강력하며 Apache가 제공하는 웹 페이지의 여러 측면을 제어하는 ​​데 사용할 수 있습니다. 여기에는 리디렉션 관리, 핫 링크 보호 등이 포함됩니다.

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

웹 호스트 루트 폴더에 하나의 .htaccess 파일이 있어야합니다 - 웹 사이트의 내용을 보유하고있는 폴더 (일반적으로 / public_html 또는 / www).

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

.htaccess 파일은 강력하지만 제대로 보호되지 않으면 액세스하고 수정할 수 있습니다. 이 파일에 대한 액세스를 금지하는 조치를 취해야합니다.

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

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

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

이 파일을 보려면 FTP 클라이언트 또는 Hosting File Manager에서 "숨겨진 파일 표시"를 설정하십시오 (아래 이미지 참조).

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

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

.htaccess 파일은 서버 구성 파일이며 동작이 직접적으로 처리되기 때문에 요청이있을 때마다 무언가를 실행할 필요가 없습니다. 따라서 예를 들어 플러그인을 사용하는 것보다 자원 집약적입니다.

* 참고 : Apache는 시장 점유율 30 % W3Techs 보고서를 기반으로합니다. WHSR에서 언급 된 가장 인기있는 호스팅 브랜드 - A2 호스팅, BlueHost는, GreenGeeks, Hostinger, 인모 션 (InMotion) 호스팅, SiteGround; 아파치에 의해 구동된다.

.htaccess는 무엇을위한 것입니까?

파일 이름 앞에 점이 있지만 htaccess는 파일의 이름이고 점은 확장명을 지정하지 않습니다. 특히, Apache가 실행될 때 찾는 정확한 파일 이름입니다. .htaccess 파일의 내용은 아파치가 기능을 사용 가능 또는 사용 불가능으로 설정하거나 특정 조건이 충족 될 때 특정 작업을 실행하기위한 매개 변수를 설정합니다.

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

.htaccess 파일을 사용하여 수행 할 수있는 작업의 거대한 목록이 있으며 오늘은이 파일 중 일부를 여러분과 공유 할 것입니다.

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

캡션 : 창조적으로 사용자 정의 된 404 오류 페이지의 예

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

디자인 한 것을 맞춤 404 오류 페이지 "404.html"이라고 불리는 파일을 "error_pages"라는 웹 디렉토리의 하위 폴더에 저장했습니다. .htaccess에서 다음 코드 행을 사용하면 방문자가 404 오류가 발생할 때마다 해당 페이지를 호출 할 수 있습니다.

ErrorDocument 404 /error_pages/404.html

이 기법을 사용하여 계정을 만들고자하는 개별 오류 유형의 사용자 정의 사본을 저장하고 .htaccess 파일에 필요한 코드를 포함하여 호출되도록 설정할 수 있습니다. 가장 일반적으로 발생하는 오류 코드 포함;

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

2. 리디렉션 처리

담요 리디렉션을 설정하여 방문자가 알지 못하고 특정 페이지로 이동할 수있는 경우가있을 수 있습니다. 예를 들어 원래 HTTP를 사용했지만 그 이후로 SSL을 설치하고 HTTPS로 이동모든 사용자가 사이트의 HTTPS 버전을 사용하게 할 수 있습니다.

이 경우 다시 쓰기 규칙을 사용하면됩니다.

RewriteEngine On RewriteCond % {SERVER_PORT} 80 RewriteRule ^ (. *) $ https://www.yourdomain.com/$1 [R, L]

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

RewriteEngine On RewriteCond % {HTTP_HOST} ^ olddomain.com [NC, OR] RewriteCond % {HTTP_HOST} ^ www.olddomain.com [NC] RewriteRule ^ (. *) $ http://newdomain.com/$1 [ R = 301, NC]

리디렉션을 설정하는 방법에는 여러 가지가 있습니다. 세부 정보 재 작성 구문 에서 찾을 수 있습니다. 아파치 설명서 페이지를 참조하십시오.

리디렉션이 할 수있는 가장 유용한 기능 중 하나는 이동 한 페이지로 검색 엔진을 안내하는 것입니다. 일반적으로 검색 엔진은 링크의 색인을 생성하고 올바른 페이지를 찾을 수없는 경우 콘텐츠가 사라 졌다고 가정합니다.

리디렉션을 사용하면 쉽게 컨텐츠를 이동할 수 있으며 웹 크롤러가 이전에 색인을 생성 한 컨텐츠를 어디에서 찾을 수 있는지 알려줍니다. 이렇게하려면 다음을 사용하십시오.

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

301 명령어는 이전 컨텐트에 원활하게 액세스 할 수있을뿐 아니라 웹 크롤러가 컨텐트를 영구적으로 이동하도록 지시하는 역할도합니다. 이렇게하면 링크를 빠르게 다시 색인 할 수 있으므로 도움이됩니다.

2. 웹 사이트 보안 강화

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

암호로 보호 된 디렉토리

이렇게하려면 두 개의 파일, .htaccess 및 .htpasswd가 필요합니다. .htpasswd 파일에는 암호화가 포함되어 있으므로 다음과 같은 도구를 사용하십시오. Htpasswd 생성기 파일을 만듭니다. .htaccess 파일에는이 코드가 포함되어야합니다.

AuthType Basic AuthName "암호로 보호 된 영역"AuthUserFile /path/to/.htpasswd 유효한 사용자 필요

디렉터리 검색 사용 안 함

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

# 디렉토리 탐색 사용 안함 옵션 -Indexes

특정 IP 차단

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

XXX.XXX.XXX.XXX 거부

여기서 XXX는 숫자 IP 값으로 대체됩니다. IP 주소 범위 또는 여러 IP 주소를 차단하는 데 사용할 수있는이 코드의 변형이 있습니다.

3. 핫 링크 보호

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

RewriteCond % {HTTP_REFERER}에 대한 RewriteEngine! $ RewriteCond % {HTTP_REFERER}! ^ http : // (www \.) example.com/.*$ [NC] RewriteRule \. (gif | jpg | jpeg | bmp) $ - [에프]

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

hotlink를 자주 사용하는 많은 사람들은 자신의 게시물을 다시 확인하지 않으므로 정말 당혹 스럽다면 hotlink를 시도하는 사이트에 사용자 정의 메시지를 표시 할 수 있습니다.

RewriteCond % {HTTP_REFERER}에 대한 RewriteEngine! $ RewriteCond % {HTTP_REFERER}! ^ http : // (www \.) example.com/.*$ [NC] RewriteRule \. (gif | jpg) $ http : // www .example.com / stopstealing.gif [R, L]

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

4. .htaccess 파일 보호

이제까지 .htaccess 파일이 실제로 얼마나 유용한 도구인지 알 수 있습니다. 그 실현에 도달 했으므로이 중요한 파일을 보호 할 생각입니다. .htpasswd 파일을 사용하고 있다면, 파일을 보호하고 싶을 것입니다.

#htaccess와 .htpasswd를 보호하십시오. [Files ~ "^. * \. ([Hh] [Tt])"> 주문 허용, 모두 거부 모든 사용자 거부 </ Files>

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

5. 서버 시간대 설정

어떤 이유로 든 또는 다른 이유로 서버의 시간이 조금 부족한 것으로 판단되면 .htaccess 파일을 사용하여 시간대를 강제로 지정해야 할 수 있습니다. 이것은 다시하기 쉽고 한 줄의 코드 만 필요합니다.

SetEnv TZ America / yourtimezone

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

.htaccess의 힘을 받아들입니다.

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

코드 사용법을 배우는 것은 Google의 힘으로 한 발짝 내딛는 것일뿐입니다. 가장 좋은 점은 사용해야 할 것을 골라야한다는 것입니다.

Jerry Low 정보

WebHostingSecretRevealed.net (WHSR)의 설립자 - 100,000의 사용자가 신뢰하고 사용하는 호스팅 검토. 웹 호스팅, 제휴 마케팅 및 SEO에서 15 년 이상의 경험. ProBlogger.net, Business.com, SocialMediaToday.com 등의 기고자.