htaccess 파일 The Ultimate Guide(2021 업데이트)

htaccess 파일: Ultimate Guide(2021 업데이트)

cPanel 또는 호스팅 계정의 파일 관리자를 통해 찾아 보면 .htaccess. 이 파일은 Apache Web Server에 대한 많은 구성 설정을 관리합니다. Apache는 플랫폼 간 운영 체제에 널리 사용되는 서버 소프트웨어입니다.

사용하는 구문이 처음에는 약간 혼란스러울 수 있지만 .htaccess 파일은 많은 강력한 일을 할 수 있습니다. 일부 기능에는 리디렉션, 암호 보호, 특정 조건에 따른 액세스 제한 등이 포함됩니다. 이 게시물에서는 설정 방법을 살펴 봅니다. .htaccess 파일을 작성하고 가장 일반적인 몇 가지 용도를 구현하십시오.

 

초기 참고 및 설정

htaccess 파일

.htaccess 마침표 또는 점으로 시작하기 때문에 일반적으로 "도트 파일"이라고합니다. 도트 파일은 거의 항상 어떤 형태의 구성 파일입니다. 도트 파일은 운영 체제 또는 소프트웨어 용일 수 있습니다. 기본적으로 운영 체제는 파인더 창이나 모든 종류의 시스템 파일 관리자에서 도트 파일을 숨 깁니다. 일반적으로 운영 체제의 기본 설정에서 "숨김 파일 표시"옵션을 선택해야합니다. 또는 사용할 수 있습니다 ls -a 명령 줄에 모든 파일을 표시합니다.

당신은 여러 .htaccess 파일을 서버에 저장하고 각 파일은 항상 재귀 적으로 작동합니다. 즉, 각 파일은 모든 파일 및 하위 디렉터리뿐만 아니라 해당 디렉터리에 영향을줍니다.

FTP를 사용하여 .htaccess 파일을 서버로 전송하려면 ASCII 양식. 기본적으로 대부분의 FTP 클라이언트는 다음을 통해 데이터를 전송합니다. BINARY 모드는 도트 파일 전송에 효과적이지 않습니다. FTP 클라이언트에서 전송 모드를 설정하는 옵션이 있어야합니다.

서버에 파일이 있으면 예상대로 작동하는지 테스트하십시오. 어떤 이유로 변경 사항이 적용되지 않은 것 같으면 잘못된 파일 권한 때문일 수 있습니다. 에 대한 파일 권한 .htaccess ~로 설정해야합니다. 755. FTP 클라이언트에 "파일 권한"옵션이 있어야합니다. 또는 다음 명령을 실행할 수 있습니다. chmod 755 .htaccess 터미널에.

사용자 정의 오류 페이지

의 사용 .htaccess 파일을 사용하면 사용자 정의 오류 페이지를 설정할 수 있습니다. 이것은 방문자가 오류 메시지를 접하게 될 때 더 유용한 메시지를 허용합니다. (이 팁을 트윗하려면 클릭) 일반적인 "404 파일을 찾을 수 없음", "401 무단 액세스"또는 "500 내부 서버 오류"메시지는 상당히 경고 할 수 있습니다. 사용자가 의도했던 곳으로 돌아갈 수있는 방법이 있으면 도움이 될 수 있습니다.

각 일반 오류 유형에 대해 고유 한 사용자 정의 HTML 페이지를 만들 수 있습니다. 또한 각 파일을 error_pages 루트 디렉토리에 있습니다. 각 오류 페이지의 이름은 오류 코드 (예 : 401, 404등), 뒤에 .html 확대.

이러한 오류 페이지를 사이트에 구현하려면 다음 코드를 .htaccess 파일 :

ErrorDocument 401 /error_pages/401.html
ErrorDocument 404 /error_pages/404.html
ErrorDocument 500 /error_pages/500.html

 

페이지 리디렉션

페이지 리디렉션또 다른 일반적인 사용 .htaccess 페이지 리디렉션 용입니다. 사이트 디렉터 내의 모든 상대 경로에서 지시 할 수 있습니다. 사이트의 절대 경로 또는 인터넷의 다른 곳으로 리디렉션 할 수도 있습니다. 사용하는 기본 구문 .htaccess 파일은 다음과 같습니다.

/ directory_to_redirect_from / https://mysite.com/new_directory/index.html 리디렉션 

항상 상대 경로를 소스 디렉토리로 사용해야합니다. 절대 경로는 리디렉션 할 디렉토리 여야합니다.

 

htaccess 파일 : 비밀번호 보호 추가

전체 사이트 또는 특정 디렉토리에만 암호 보호를 추가 할 수 있습니다. 보호 된 사이트 또는 경로에 액세스하려면 사용자 이름과 암호가 필요합니다. 암호로 보호 된 페이지에 도달하면 브라우저에서 팝업이 나타납니다. 또한 .htaccess 추가 보안을 위해 암호화됩니다.

특정 디렉터리를 암호로 보호하려면 해당 디렉터리로 이동하여 새 디렉터리를 만듭니다. .htaccess 거기 파일. 다음을 추가하여 전체 사이트를 암호로 보호 할 수 있습니다. .htaccess 파일을 루트 디렉토리에 추가합니다. 명심하십시오 .htaccess 기본 디렉터리 내의 모든 파일과 하위 디렉터리를 반복적으로 암호로 보호합니다.

비밀번호 보호를 추가하기위한 기본 구문은 다음과 같습니다.

AuthName "승인 된 액세스 전용"
인증 사용자 파일 /htpassword-filepath/.htpasswd
AuthType이 기본
유효한 사용자가 필요

 

AuthName "Authorized Access Only" 보호 된 디렉토리의 이름을 나타냅니다. 로그인시“Authorized Access Only”가 팝업창에 나타납니다.

AuthUserFile /htpassword-filepath/.htpasswd Apache에게 .htpasswd 파일입니다. 당신은 교체해야 /htpassword-filepath/.htpasswd 서버의 실제 파일 경로와 .htpasswd.

AuthType Basic 기본 HTTP 인증이 사용됨을 나타냅니다. 이것은 가장 일반적인 HTTP 인증 유형이며 대부분의 응용 프로그램에 적합합니다.

마지막 줄, require valid-user는 디렉토리에 액세스하기 위해 사용자 이름과 비밀번호가 필요함을 나타냅니다. 특정 사용자 이름을 요구하려면 다음을 사용할 수 있습니다. require user name. 바꾸다 name 특정 사용자 이름이 필요합니다. 특정 사용자 만 액세스 할 수 있도록하려는 사이트의 관리자 섹션에 가장 자주 사용됩니다.

다음은 Zac Gordon의 .htaccess 파일을 만들고 편집하는 방법을 보여주는 멋진 비디오입니다.

 

.htpasswd

배치 할 수 있습니다. .htpasswd 파일에 대한 절대 경로를 .htaccess. 상대 경로 또는 URL을 사용하면 파일을 찾을 수 없습니다. 어떤 경우에 .htpasswd 다음과 같은 디렉토리에 있어야합니다. .htaccess그러나. 또한 이름을 지정할 수 있습니다. .htpasswd 다른 것. 이것은 Apache가 자동으로 이해하는 명명 규칙이지만.

암호를 추가하려면 .htpasswd, 다음 구문을 사용하십시오.

사용자 이름 : 암호화 된 암호
관리자 : fs424sJK / 67JGmn

하나에 여러 사용자 이름과 암호를 저장할 수 있습니다. .htpasswd 각 줄에 하나씩 있습니다. 각 사용자 이름 및 암호 쌍은 공백없이 콜론으로 만 구분 된 동일한 줄에 있어야합니다.

리눅스 서버 암호 암호화 서비스를 사용하여 암호를 암호화해야 합니다. 이러한 작업을 무료로 수행할 수 있는 많은 응용 프로그램과 웹사이트가 있습니다. 언급할 가치가 있는 한 가지 옵션은 ionix의 DirectoryPass.

점에 유의하십시오 .htaccess 로그 아웃 기능을 허용하지 않습니다. 올바른 로그인 자격 증명을 입력하면 브라우저를 종료 할 때까지 웹 브라우저의 캐시에 저장됩니다. 브라우저를 종료 한 후 페이지를 다시 열려면 자격 증명을 다시 입력해야합니다.

IP 주소로 액세스 거부

IP 주소로 액세스 거부에서 제공하는 하나의 유용한 도구 .htaccess IP 주소를 기반으로 방문자를 차단하는 기능입니다. 이런 식으로 특정 방문자를 완전히 차단할 수 있습니다. 또는 다음을 추가하여 사이트의 특정 섹션에서 차단할 수 있습니다. .htaccess 파일을 특정 디렉토리에 추가합니다.

IP 주소를 기반으로 방문자를 차단하려면 다음 구문을 사용하십시오.

거부 할 주문
345.4.5.0에서 거부
754.53.8에서 거부.
모두에서 허용

예제의 코드는 Apache에 IP 주소의 액세스를 거부하도록 지시합니다. 345.4.5.0754.53.8. 세 번째 줄에서 IP 주소 754.53.8 네 번째 숫자 그룹은 포함되지 않으므로 처음 세 자리와 일치하는 모든 IP 주소는 차단됩니다. 이것은 754.53.8.2, 754.53.8.4등은 모두 사이트에 대한 액세스가 거부됩니다.

차단하지 않고 특정 IP 주소의 액세스 만 허용하려는 경우 구문은 매우 유사합니다. 아래 코드를 사용할 수 있습니다.

거부 할 주문
345.4.5.0에서 허용
모든로부터 거부

이 코드에서 사이트에 액세스 할 수있는 유일한 IP 주소는 345.4.5.0 — 다른 모든 IP는 거부됩니다.

두 경우 모두 (허용 또는 차단 된 IP 주소 설정) 각 행에 원하는만큼 레코드를 추가 할 수 있습니다.

IP가 차단되면 방문자에게 '403 Forbidden'오류 메시지가 표시됩니다. 앞서 살펴본 것처럼 방문자에게 더 많은 사람이 읽을 수있는 정보를 제공하기 위해 오류 페이지를 사용자 정의 할 수 있습니다.

핫 링킹 방지

다른 사이트가 귀하의 사이트에서 자산(예: 이미지, 비디오, CSS 파일등) 불필요하게 대역폭을 사용합니다. 이로 인해 귀하의 귀속이나 혜택 없이 호스팅 비용이 높아질 수 있습니다.

다행히, .htaccess 이러한 일이 발생하지 않도록 방지하고 다른 도메인에서 귀하의 콘텐츠를 표시하지 못하도록하는 방법이 있습니다.

에한다 RewriteEngine
한다 RewriteCond % {HTTP_REFERER}! ^ $
RewriteCond % {HTTP_REFERER}! ^ http : // (www \.)? mycoolsite.com /.*$ [NC]
RewriteRule \. (png | jpg | mp4) $-[F]

 

위,.htaccess 금지 .png, .jpg or .mp4 다른 도메인에서 링크 할 파일 https://www.mycoolsite.com. 허용하지 않을 다른 파일 형식을 지정할 수 있습니다 (예 : .css, .mp3등). 물론 자신의 도메인 이름으로 코드를 바꾸고 싶을 것입니다.

한 단계 더 나아가 외부 사이트가 귀하의 콘텐츠에 연결을 시도하는 경우 그 자리에 표시 할 대체 이미지 또는 메시지를 제공 할 수 있습니다 (예 : "죄송합니다. mycoolsite.com에서 액세스 할 수 있습니다.”) :

외부 사이트가 콘텐츠에 연결을 시도하는 경우 대신 표시 할 대체 이미지 또는 메시지를 제공 할 수 있습니다. 예를 들어 "죄송합니다. 액세스하려는 콘텐츠는 mycoolsite.com에 있습니다."라는 이미지가 있습니다.

에한다 RewriteEngine
한다 RewriteCond % {HTTP_REFERER}! ^ $
RewriteCond % {HTTP_REFERER}! ^ https : // (www \.)? mycoolsite.com /.*$ [NC]
RewriteRule \. (png | jpg | mp4) $ https://www.mycoolsite.com/hotlink-error-message.jpg [R, L]

이것은 표시됩니다 hotlink-error-message.jpg 누군가 링크를 시도 할 때마다 .png, .jpg.mp4 파일에서 mycoolsite.com.

htaccess HTTPS로 리디렉션

사이트에 SSL 인증서를 추가하면 서버는 계속해서 모든 웹 페이지의 HTTP 버전을 제공합니다. 이것이 HTTP를 HTTPS로 리디렉션하여 사이트에서 SSL을 강제 실행해야 하는 이유입니다.

.htaccess를 통해 수행할 수 있는 중요한 기능 중 하나는 301 리디렉션이며, 이는 이전 URL을 새 URL로 영구적으로 리디렉션할 수 있습니다. 다음의 간단한 단계에 따라 사이트로 들어오는 모든 트래픽에 HTTPS를 강제 적용하기 위해 기능을 활성화하는 것은 간단합니다.

  1. 호스팅 패널에서 파일 관리자로 이동하여 public_html 폴더에서 .htaccess를 엽니다. 그리고 찾을 수 없으면 생성하거나 숨김을 해제해야 합니다.
  2. 그런 다음 아래로 스크롤하여 RewriteEngine On을 찾은 다음 바로 아래에 다음 코드 줄을 삽입합니다.
  3. htaccess HTTPS로 리디렉션이제 변경 사항을 저장합니다.

htaccess WordPress

당신은 그것을 알아야합니다 워드프레스(WordPress), .htaccess는 웹 서버가 사이트를 실행하고 관리하는 방법을 제어할 수 있는 특수 구성 파일 중 하나입니다. htaccess 파일은 가장 강력한 구성 파일 중 하나이며 WordPress 웹 사이트에서 SSL 연결, 301 리디렉션, 암호 보호, 기본 언어 등을 제어할 수 있습니다.

.htaccess 구성 파일의 사용이 디렉토리에 대한 액세스와 관련된 국제 서버 설정을 무시하는 데 쉽게 사용할 수 있기 때문에 더 대중화되었다는 점은 주목할 가치가 있습니다. 그러나 최근에는 .htaccess가 여러 다른 구성 설정을 무시할 수 있습니다.

htaccess 파일 예

.htaccess 파일 내에서 방대한 양의 구성 가능성을 쉽게 얻을 수 있다는 사실을 알게 되어 기쁩니다.

IP 주소 차단

스팸 트래픽을 받고 있습니까? 아마도 귀하의 사이트는 특정 IP 주소에서 해킹 시도 또는 남용으로 고통 받고 있습니다. 이 경우 .htaccess 파일로 조치를 취할 수 있습니다. .htaccess 파일의 코드를 사용하여 해당 IP 주소의 트래픽을 쉽게 차단할 수 있습니다.

특정 또는 특정 도메인을 차단하려면 웹사이트의 루트 .htaccess 파일에 다음을 추가하면 됩니다.

123.123.123.123/255.255.255.0에서 거부

그런 다음 차단하려는 도메인과 일치하도록 IP 주소와 넷마스크 값을 변경합니다.

이미지 핫링크 방지

이미지 핫링크는 누군가가 귀하의 사이트에 이미지를 자신의 사이트에 삽입할 때 발생한다는 것을 알아야 합니다. 그리고 이것은 다른 사람의 웹사이트에 이미지를 제공하기 위해 귀하의 서버가 잠재적으로 초과 작업을 해야 한다는 것을 의미하기 때문에 (저작권 관점에서만이 아니라) 매우 문제가 될 수 있습니다.

가장 좋은 점은 .htaccess 파일을 사용하여 이를 쉽게 중지하고 다른 사람이 사이트에 저작권이 있는 이미지를 삽입하지 못하도록 차단할 수 있다는 것입니다.

.htaccess 파일에 다음 줄을 입력하면 사이트에 대한 핫링크를 쉽게 방지할 수 있습니다.

htaccess-file-블록 IP 주소

다음 코드를 사용할 수도 있습니다.

htaccess-file-블록 IP 주소

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

WordPress 웹 사이트를 포함한 거의 모든 웹 사이트에는 중앙(또는 루트) 디렉토리에서 찾을 수 있는 .htaccess 파일이 있다는 것을 알고 계셨습니까? 그리고 이 htaccess 파일은 숨겨져 있으며 확장자가 없습니다.

파일은 일반적으로 숨겨져 있지만 .htaccess 파일 위치는 사이트의 public_html 폴더에 있는 경우가 많습니다.

.htaccess 파일에는 무엇이 있어야 합니까?

파일에는 사이트 서버에 다양한 지침을 제공하는 규칙이 포함되어야 합니다. 거의 모든 웹사이트에는 .htaccess 파일이 있으며 이 파일은 중앙 디렉토리 또는 '루트'에 있습니다.

장점과 단점

.htaccess 파일이 모든 요청에 ​​대해 적시에 읽혀진다는 사실을 알게 되어 기쁩니다. 결과적으로 이러한 파일을 변경하면 즉시 적용됩니다.

이는 일반적으로 서버를 다시 시작해야 하는 전역 설정과 다릅니다. 또한 .htaccess 파일을 사용하면 각 사용자가 많은 사용자가 있는 서버에 대한 권한을 빠르게 설정할 수 있습니다.

그러나 큰 문제가 있습니다. 모든 요청은 서버가 모든 .htaccess 파일을 읽어야 하므로 상당한 부하가 있는 경우 중간에서 심각한 성능 문제가 발생할 수 있습니다.

그게 다가 아닙니다. 모든 설정을 다양한 사용자에게 분산시키는 것은 여러 보안 문제, 특히 이러한 .htaccess 파일이 올바르게 구성되지 않은 경우.

주의할 점

.htaccess 파일은 매우 유용할 수 있고 이를 사용하여 웹 사이트를 크게 개선할 수 있지만 영향을 미칠 수 있는 두 가지 사항이 있습니다.

속도

.htaccess 파일은 웹 서버 속도를 저하시킬 수 있습니다. 대부분의 서버에서는 감지할 수 없거나 사소한 변경일 수 있습니다. 이것은 단순히 페이지의 위치 때문입니다.

.htaccess 파일은 해당 디렉토리의 모든 페이지와 그 아래의 모든 디렉토리에 영향을 미친다는 것을 알아야 합니다. 즉, 페이지가 로드될 때마다 웹 서버는 .htaccess 파일 또는 최상위 디렉토리에 도달할 때까지 해당 디렉토리와 그 위의 모든 항목을 검색합니다.

경비

.htaccess 파일이 표준 아파치 구성에 비해 훨씬 더 접근하기 쉽다는 것을 알고 계셨습니까? 또한 변경 사항이 즉시 적용됩니다. 사용자에게 .htaccess 파일을 변경하고 변경할 수 있는 권한을 부여하면 웹 서버 자체를 너무 많이 제어할 수 있습니다.

htaccess 파일 편집

htaccess 파일 편집.htaccess 파일을 편집하는 것이 위험하다는 것을 알고 계셨습니까? 삭제하지 말아야 할 코드를 삭제할 수 있기 때문입니다. 잘못된 코드를 추가하거나 웹사이트를 손상시키는 다른 실수를 할 수도 있습니다. 하기 위해 이러한 위험을 완화, htaccess 파일을 직접 편집하기 전에 최소한 한 가지 예방 조치를 취하는 것이 중요합니다.

실수한 경우 이전 버전의 웹사이트를 쉽게 복원할 수 있도록 웹사이트를 백업할 수 있습니다. 반면에 스테이징 웹 사이트를 사용하여 공개 웹 사이트에 라이브로 푸시하기 전에 편집 내용을 테스트할 수 있습니다.

백업 .htaccess 파일을 만든 다음 컴퓨터에 다운로드하는 것이 가장 좋습니다. 이렇게 하면 기본 .htaccess 파일의 편집으로 인해 문제가 발생하더라도 백업 파일을 믿고 업로드할 수 있습니다.

 

결론

사이트 파일을 직접 사용하는 방법을 배우는 것이 신뢰할 수 있는 웹 개발자가 되기 위한 여정에서 중요한 단계라는 것은 비밀이 아닙니다. 그리고 .htaccess 파일은 다양한 응용 프로그램에 사용할 수 있는 간단한 파일이므로 시작하기에 매우 좋습니다.

귀하의 웹사이트 뒤에서 일어나는 일을 이해하고 더 많이 배울 때마다 효과적인 웹마스터가 되는 데 한 걸음 더 가까워지고 웹사이트의 기능을 간소화하고 향상시킬 수 있는 잠재력을 갖게 됩니다.

 

작성자 바이오

Angelo는 20 년 넘게 창의적인 IT 세계에 참여해 왔습니다. 1998 년 Dreamweaver, Flash 및 Photoshop을 사용하여 첫 번째 웹 사이트를 구축했습니다. 그는 HTML / CSS, Flash ActionScript 및 XML과 같은 광범위한 프로그래밍 기술을 학습하여 지식과 전문성을 확장했습니다.

Angelo는 호주 시드니에서 CIW (Certified Internet Webmasters) 프로그램으로 공식 교육을 이수하여 컴퓨터 네트워킹의 핵심 기본 사항과 이것이 월드 와이드 웹의 인프라와 관련되는 방식을 배웠습니다.

Sunlight Media를 운영하는 것 외에도 Angelo는 웹 및 앱 개발, 디지털 마케팅 및 기타 기술 관련 주제와 관련된 유익한 콘텐츠를 작성하는 것을 즐깁니다.

댓글

  • 소리 17월 2021일, 7년, 오전 58:XNUMX분

    좋은 기사는 표현하는 훌륭한 방법입니다. 계속해

코멘트를 게시

댓글이 검토됩니다. 귀하의 이메일은 비공개로 유지됩니다. 필요 입력 사항은 표시되어 있습니다 *