.htaccess 초보자 가이드
게시 됨: 2023-10-25.htaccess – 웹사이트를 소유한 모든 사람이 가끔 들어본 무서운 단어입니다. 이름 자체가 너무 기술적이어서 이해하기 어려운 것처럼 보이지만, 무기고에 가지고 있을 수 있는 강력한 도구입니다. .htaccess의 작동 방식과 가능한 사용 사례를 파악하면 쉽게 사용할 수 있는 작업이 충분합니다. 이것이 무엇인지, 어떻게 활용하여 이익을 얻을 수 있는지 알아보고, .htaccess의 가장 일반적인 용도에 대한 가장 유용한 예와 설명을 살펴보겠습니다!
.htaccess란 무엇입니까?
"하이퍼텍스트 액세스"의 약어인 .htaccess는 Apache 웹 서버 소프트웨어 제어에 도움이 되는 구성 파일입니다. .htaccess 파일을 생성하여 디렉토리에 추가하면 나중에 Apache 웹 서버에서 로드하고 실행할 수 있습니다.
간단히 말해서 이 파일을 사용하여 웹 서버가 제공하는 모든 기능을 활성화하거나 비활성화할 수 있습니다. 기본 리디렉션이나 핫링크 방지부터 .htaccess 작업을 잘 이해하면 여러 가지 이점이 있습니다.
.htaccess 파일은 어떻게 생겼나요?
.htaccess 파일은 당신이 만드는 것입니다. 파일의 목적에 따라 한 줄만 포함할 수도 있고 여러 줄을 포함할 수도 있습니다. 많은 일을 하기 위해 파일에 쓸 수 있는 일이 많이 있으며, 계속 읽으면서 몇 가지 예를 찾을 수 있습니다.
이미 가지고 있나요?
대부분의 경우 웹사이트가 있다면 이미 .htaccess 파일이 있을 가능성이 높습니다. 일반적으로 웹사이트의 루트 폴더에서 찾을 수 있습니다. 웹사이트의 모든 콘텐츠가 들어 있는 폴더로 가서 Public_HTML 폴더나 www라는 이름의 폴더를 찾으세요. 여러 사이트에 대한 하위 디렉터리가 있는 경우 각 하위 디렉터리에서 하나씩 찾을 수 있습니다.
찾지 못하더라도 걱정하지 마세요. 그것은 당신이 그것을 가지고 있지 않다는 것을 의미하지 않습니다 – 그것은 단지 숨겨져 있을 수 있습니다. 이는 일반적으로 .htaccess와 마찬가지로 점으로 시작하는 파일의 경우입니다. 기본적으로 일반적으로 쉽게 발견할 수 없습니다.
파일 관리자나 FTP 클라이언트로 가서 "숨김 파일 표시" 옵션을 찾으세요. 모든 옵션, 특히 "기본 설정", "설정" 또는 "옵션"을 그대로 두지 마십시오.
저는 하나도 없는 것 같습니다.
그래도 힘들이지 마세요. 쉽게 만들 수 있으니까요. 필요한 것은 일반 텍스트 편집기와 세부 사항에 대한 눈입니다. 예를 들어 Microsoft WordPad 또는 TextPad를 사용할 수 있습니다. 그러나 까다로운 부분은 .htaccess 파일의 이름을 올바르게 지정하고 저장하는 것입니다.
먼저 올바른 형식으로 저장해야 합니다. ASCII 형식이어야 하므로 UTF-8이나 다른 형식으로 저장하려는 유혹에 빠지지 마세요.
둘째, 이름이 .htaccess인지 확인하세요. 이것은 꽤 간단하게 들리지만 실제로 세부 사항에 대한 안목이 작용하는 곳입니다. 처음에 점을 유지하고 싶습니다. 다음 단계는 파일 확장자를 포함하지 않도록 하는 것입니다. “htaccess.txt”로 저장하면 마무리 라인에 도달하지 않습니다. 점을 추가하고 확장자를 제거하세요!
마지막으로 적절한 디렉터리에 업로드하려고 합니다. 가이드로 돌아가서 위에서 언급한 디렉터리 중 하나에 저장할 수 있습니다. 이렇게 하려면 FTP나 기타 편리한 브라우저 기반 파일 관리자를 사용할 수 있습니다.
.htaccess로 무엇을 할 수 있나요?
.htaccess를 사용하여 얻을 수 있는 여러 가지 작업과 약간의 노하우가 있습니다. 그 중 일부는 다음과 같습니다.
오류 처리
.htaccess로 할 수 있는 첫 번째이자 가장 간단한 작업 중 하나는 방문자에게 무서운 메시지 대신 친근하고 사용자 정의된 오류 메시지가 표시되도록 하는 것입니다.
당신이 하고 싶은 일은 먼저 HTML 문서를 만드는 것입니다. 예를 들어 404 오류의 경우 "찾을 수 없음", 502 오류의 경우 "잘못된 게이트웨이"와 같은 오류 설명을 포함하는 것이 좋습니다. 하지만 사실은 원하는 모든 콘텐츠를 표시할 수 있습니다.
또한 어떤 문서인지 알 수 있도록 이름을 올바르게 지정해야 합니다. 404 오류를 처리하는 경우 이를 저장하는 일반적인 방법은 404.html입니다. 또한 모든 오류 문서를 보관해야 하는 error_pages 디렉터리에 저장하려고 합니다.
준비가 되면 선호하는 편집기에서 .htaccess 파일을 열고 다음과 같이 입력해야 합니다.
오류문서 404 /error_pages/404.html
이 줄은 404 오류가 발생할 때마다 웹 사이트 서버에 지정된 문서를 표시하도록 지시합니다. 원하는 오류 문서에 대해 이 프로세스를 반복하여 방문자가 일반적으로 받는 지나치게 단순하고 일반적인 메시지로 인해 좌절하지 않도록 할 수 있습니다.
단순 리디렉션
WordPress에는 이 작업을 수행하는 많은 플러그인이 있을 수 있지만 .htaccess 파일을 사용하여 방문자를 리디렉션할 수도 있습니다. 방문자가 요청한 페이지 대신 귀하가 지정한 페이지로 방문자를 유도하는 것은 또 다른 간단한 작업입니다. 파일에 다른 줄을 입력하면 방문자를 웹사이트 내의 다른 위치나 다른 웹사이트로 리디렉션할 수도 있습니다.
리디렉션하기 위해 .htaccess 파일에 추가할 수 있는 항목의 예는 다음과 같습니다. 물론 필요에 맞게 약간 편집해야 합니다.
/old_dir/ http://www.yourdomain.com/new_dir/index.html 리디렉션
방문자가 원하는 위치에 도달할 수 있도록 이를 사용자 정의하는 방법을 알 수 있도록 설명하겠습니다.
먼저, /old_dir/은 무엇입니까? 이는 귀하의 도메인 아래에 있는 디렉토리 또는 문서입니다. 보다 정확하게는 'http://www.yourdomain.com/old_dir/'에 있습니다. 이것이 방문자가 액세스하려고 시도하는 지점입니다. 파일의 나머지 부분은 대신에 끝나야 할 위치를 지정합니다. 이 경우 웹사이트의 /new_dir/ 색인 페이지에 표시됩니다.
보시다시피 시작점과 달리 사용자가 최종적으로 도달하게 하려는 페이지는 전체 URL입니다. 이는 다른 도메인으로 리디렉션할 때 도움이 됩니다. 예에 있는 URL 대신 임의의 URL을 사용하여 추가할 수 있기 때문입니다. 케이크 조각이지, 그렇지?
비밀번호 보안
웹 사이트 주변에 커뮤니티를 구축하려는 경우 회원 영역을 제공하고 방문자가 로그인하도록 하는 것이 바로 비결이 될 수 있습니다. 커뮤니티는 마케팅 활동 및 판매와 관련하여 할 수 있는 훌륭한 일이지만 사용자가 누구인지에 대한 아이디어를 생성하고 고객에 대해 꼭 필요한 정보를 수집하는 데도 도움이 될 수 있습니다.
GDPR을 준수하는 한, 이 깔끔한 트릭을 사용하여 수집한 정보를 기반으로 제안을 편집하고 결국에는 더 많이 판매할 수 있습니다!
비밀번호를 보호하는 방법은 무엇입니까?
웹사이트의 모든 항목에 비밀번호를 추가하는 것은 .htaccess 파일을 사용하는 가장 일반적인 방법입니다. 이는 수행하기가 매우 간단하며 여전히 디렉토리 또는 일부 디렉토리를 비밀번호로 보호할 수 있습니다. 이렇게 하면 사용자가 액세스할 수 있는 유효한 사용자 이름과 비밀번호를 갖게 되며, 이는 다양한 상황에서 매우 유용할 수 있습니다.
디렉토리에 대한 비밀번호 보호를 설정하면 로그인 절차가 매우 간단해지며 웹 브라우저가 이를 자동으로 처리합니다. 브라우저의 팝업 인터페이스로 표시됩니다. 비밀번호도 암호화되므로 로그인 자격 증명도 안전합니다.
비밀번호로 보호하려는 디렉토리를 알고 있다면 계속해서 .htaccess 파일을 만드세요. 모든 하위 디렉터리도 비밀번호로 보호된다는 점을 명심하세요! 여기에도 동일한 규칙이 적용되지만 다음을 포함하는 것이 좋습니다.
AuthName “회원 이름”
AuthUserFile /path/to/password/file/.htpasswd
인증 유형 기본
유효한 사용자 필요
필요한 경우 수정하는 방법을 알 수 있도록 분석해 보겠습니다. 첫 번째 줄에서 이 .htaccess 파일은 보호하려는 디렉터리의 이름을 지정합니다. 이 경우에는 "구성원 이름" 디렉터리이지만 비밀번호가 필요한 디렉터리 이름에 맞게 수정해야 합니다.
두 번째 줄은 비밀번호 파일을 지정합니다. 더 정확하게 말하면 서버가 비밀번호 파일을 찾을 수 있는 곳입니다. 세 번째는 사용 중인 인증 유형입니다. 이 예에서는 basic, 즉 기본 HTTP 인증을 나타냅니다.
마지막 줄은 로그인 요구 사항을 나타냅니다. 이 예에서는 유효한 로그인 자격 증명이 필요합니다. 비밀번호로 보호하려는 대상에 따라 유효하기 위해 필요한 사항을 여기에서 지정할 수 있습니다.
비밀번호 파일
이제 비밀번호 파일을 알아내야 합니다. 웹 서버 어디에나 있을 수 있지만 비밀번호 파일은 .htaccess 파일과 동일한 디렉터리에 두는 것이 좋습니다. 이는 일부 서버에서 이 설정을 요구하기 때문입니다. 두 번째 줄에는 비밀번호 파일이 있는 디렉터리의 전체 경로를 사용해야 합니다.
물론 이는 비밀번호 파일을 준비해야 한다는 의미이기도 합니다. 예에서는 .htpasswd라고 부르지만 원하는 대로 이름을 지정할 수 있습니다. 그래도 이름을 동일하게 지정하면 서버가 이 파일 이름을 인식하고 방문자에게 자동으로 숨길 수 있다는 좋은 소식이 있습니다. 비밀번호 파일에는 다음 내용이 포함되어야 합니다.
사용자 이름:암호화된 비밀번호
john_smith:oCF9Pam/MXJg2
방문자에 대한 접근 거부
웹사이트에도 페르소나 비 그라타(persona-non-grata)가 있습니다. 올바른 .htaccess 파일을 사용하면 다른 사람의 액세스를 제한할 수 있습니다. 또는 특정 방문자에게 특정 액세스를 허용할 수도 있습니다. 첫 번째는 웹사이트를 보호하려는 경우 다소 유용하고, 후자는 사이트의 특정 측면을 완전히 제어하려는 경우에 적합합니다.
두 가지 방법으로 방문자의 액세스를 거부할 수 있습니다. IP 주소에 따라 방문자의 액세스를 거부하거나 추천자를 기준으로 선택할 수 있습니다.
IP로 거부
일부 IP를 블랙리스트에 추가하려는 경우 .htaccess 파일의 도움을 받아 쉽게 그렇게 할 수 있습니다. 동일한 규칙에 따라 새 항목을 만든 후 다음 텍스트를 추가합니다.
주문 허용, 거부
XXX.XXX에서 거부
XXX.XX.X에서 거부합니다.
모두에게 허용하다
물론 X를 차단하려는 IP 주소로 바꿔야 합니다. 필요한 만큼 추가하면 이 파일은 해당 IP 주소가 사이트에서 환영받지 못한다는 것을 웹 서버에 알립니다. 이 줄은 다른 방문자가 귀하의 웹 사이트에 오신 것을 환영한다는 의미이므로 모두 허용을 추가하십시오.
반면, 나만 접근 권한을 갖고 싶다면 다음 텍스트를 대신 포함해야 합니다.
주문 허용, 거부
XXX.0.0.0부터 허용
모두를 거부하다
물론 X를 자신의 IP 주소로 바꿔야 합니다. 이는 귀하만이 특정 지점에 접근할 수 있어야 함을 서버에 알려줍니다.
리퍼러에 의한 거부
로그를 살펴보면 의심스러운 활동을 발견했습니다. 블랙리스트에 추천인을 추가하고 걱정을 떨쳐버리는 것이 어떨까요? .htaccess를 사용하여 이를 수행하는 방법은 다음과 같습니다.
평소처럼 파일을 생성하면 됩니다. 입력은 다음과 같아야 합니다.
RewriteEngine 켜기
# 옵션 +FollowSymlinks
RewriteCond %{HTTP_REFERER} otherdomain\.com [NC]
RewriteRule .* – [F]
이것은 트릭을 수행해야합니다! 하지만 'mod_rewrite'가 서버에 활성화되어 있는지 확인해야 합니다. 리소스를 상당히 많이 요구할 수 있기 때문에 비활성화될 수 있기 때문입니다. 그렇다면 호스팅 제공업체에 확인해야 합니다.
본질적으로 이 줄은 otherdomain\.com의 어느 누구도 귀하의 웹 사이트에 방문하는 것을 환영하지 않는다는 것을 서버에 알립니다. 물론 여기에 적절한 도메인을 추가해야 합니다. 마지막에 있는 '[NC]' 부분도 매우 중요합니다. 이를 통해 제공한 도메인 이름이 대소문자를 구분하지 않는다는 것을 알 수 있습니다. 이는 "OtherDomain"도 제한이 없음을 의미합니다.
여러 문제를 일으키는 사람을 차단하려면 '[NC,OR]'을 대신 추가한 다음 같은 방식으로 다른 것을 추가하세요.
RewriteCond %{HTTP_REFERER} anotherdomain\.com
만족스러울 때까지 이 작업을 계속할 수 있지만, 마지막 항목을 제외하고 각 항목 끝에 '[NC,OR]'을 추가하는 것을 잊지 마세요.
나쁜 봇이 웹사이트를 스캔하는 것을 방지
.htaccess를 사용하는 또 다른 완벽한 이유는 웹 사이트에서 크롤러를 방지하는 것입니다. 오프라인으로 검색하기 위해 전체 콘텐츠를 다운로드하는 무해한 것들이 있는 반면, 악의적인 의도를 가진 것들이 있습니다. 즉, 인터넷은 스팸 이메일, 보안 허점을 채우기 위해 또는 단순히 콘텐츠를 소스로 채우기 위해 이메일 주소를 찾는 나쁜 봇으로 가득 차 있습니다.
이는 이전 예제보다 조금 더 발전된 것이지만 확실히 시도해 볼 가치가 있습니다. 이런 나쁜 봇이 당신에게 해를 끼치는 것을 방지하는 것은 필수입니다.
이전 예제에서 했던 것처럼 다른 .htaccess 파일을 생성하면 됩니다. 여기에 작성해야 할 내용은 다음과 유사합니다.
RewriteEngine 켜기
RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR]
RewriteCond %{HTTP_USER_AGENT} ^SuperBot
RewriteRule ^.* – [F,L]
사실, 목록에는 잘 알려진 모든 배트 봇이 포함되어야 하므로 목록이 훨씬 길어야 합니다. 여기에서 그러한 목록을 찾을 수 있습니다. 더 많이 포함할수록 좋습니다.
그래도 이름을 바꾸십시오. BlackWidow 또는 SuperBot 대신 봇의 이름을 사용하십시오. 각 항목의 끝에는 항상 [OR]을 포함하되, 마지막 항목과 함께 사용하지 않도록 주의하세요. 짜잔! 귀하의 웹사이트에는 모든 악성 크롤러가 없습니다!
더 있나요?
물론 그렇습니다. 말했듯이 이것은 결국 초보자를 위한 가이드입니다. .htaccess 파일로 할 수 있는 추가 작업이 많이 있습니다.
예를 들어 .htaccess 파일을 사용하여 서버 시간대를 설정하거나 서명을 변경할 수 있습니다. 웹 사이트가 미디어에 크게 의존하는 경우 이를 사용하여 모든 미디어 파일을 재생하는 대신 다운로드할 수 있습니다. 또는 이를 사용하여 유효하지 않은 문자 등이 포함된 요청을 방지할 수 있습니다.
.htaccess 철자를 입력하는 것조차 문제가 되지만, 보시다시피 이를 사용하는 것은 매우 쉬운 일이지만 여전히 많은 것을 성취할 수 있습니다!
파일을 생성하고 편집할 때 명심해야 할 것은 변경 사항을 적용한 후 실행하기 전에 철저하게 테스트하는 것입니다. 사용자에게 500 내부 서버 오류를 제공하고 싶지 않습니까?
마지막 조언
일이 제대로 안 되더라도 지나치게 좌절하지 마세요. 오타가 있는지 확인하세요. 일반적으로 이렇게 하면 문제가 해결됩니다! 그렇지 않은 경우 지원 포럼을 확인하세요!