.htaccess의 기본

작성자 :
  • 호스팅 가이드
  • 업데이트 : Jun 29, 2013

웹 디자인 및 개발의 핵심 구성 요소는 서버의 .htaccess 파일을 이해하는 것입니다.

대부분의 아마추어 웹 호스팅 클라이언트와 새로운 웹 개발자는 모든 서버 설정에서 가장 중요한 부분이 설치된 소프트웨어라고 가정합니다. 인기있는 소프트웨어와 광범위한 데이터베이스 셀 및 테이블에 의해 제어되는 고급 컨텐트를 만들기 위해 열정적으로 ASP 기반 또는 PHP 기반 응용 프로그램을 설치합니다. 그러나이 활동이 활발하게 진행되는 가운데 거의 모든 개발자가 서버에서 가장 중요하고 강력한 파일 중 하나를 무시합니다. 이 파일은 ".htaccess"파일로 알려져 있으며, 오류 메시지를 암호로 보호 된 페이지로 구성하고 사이트 콘텐츠를 볼 수없는 차단 된 사용자에게는 영구 링크 구조로 제어합니다.

".htaccess"파일은 기본적으로 서버의 루트 공용 디렉토리에 있습니다. Linux 서버에서이 디렉토리는 거의 항상 "public_html"이라고 불립니다. 이 파일의 힘으로 이익을 얻을 필요가있는 하위 폴더의 경우, 보조 ".htaccess"파일을 배치 할 수 있습니다. 모든 하위 폴더 및 서버 자체의 다른 디렉토리 내에 있습니다. ".htaccess"파일이있는 디렉토리 내의 모든 파일 또는 폴더는 별도로 코딩 된 버전의 파일로 덮어 쓰지 않는 한 해당 파일의 사용 권한 및 지침을 상속합니다. 복잡하게 들리면 서버 동작을 적절하게 제어하는 ​​고급 기술이기 때문입니다. 그러나, 배우는 것은 불가능하지 않습니다. 그리고 고객을 호스팅하는 개발자 또는 초보자 웹이이 파일을 사용하여 서버를 제어하는 ​​방법을 배우게되면 ".htaccess"파일이 혼란스럽지 않은 성가신 날로 돌아갈 수 없음을 알게 될 것입니다.

암호로 보호하는 디렉토리는 .htaccess 파일의 스냅입니다.

웹 호스팅 서버 보안은 거의 모든 고객이 특정 호스팅 회사 또는 서버 기술을 사용하기 전에 조사하는 것입니다. 대부분의 경우 Windows 및 Linux 서버는 동등하게 안전하므로 정보가 없어야하는 사람들로부터 정보를 멀리합니다. 그러나 이는 해커 및 악의적 인 웹 스크립트를 방어하는 경우에만 해당됩니다. 특정 파일이나 디렉토리를 암호로 보호하려면 모든 작업을 서버의 기술이나 보안 기능과 별도로 .htaccess 파일로 수행해야합니다.

.htaccess 파일은 단순한 라인 별 프로그래밍 언어 및 기술에 의해 정의 된대로 이러한 디렉토리를 보호하는 고유 한 스타일을 가지고 있습니다. 이 경우 사용자는 단순히 보호 할 디렉토리를 정의한 다음 해당 디렉토리에 액세스하는 데 필요한 매개 변수를 파일 자체에 설정합니다. 이 암호는 일반 웹 브라우저를 통해 액세스 할 때 단 하나의 파일, 전체 디렉토리 또는 전체 서버에 적용될 수 있습니다. 파일 또는 디렉토리 암호의 단순한 단일 행 설정은 완전히 채워지고 시작될 때 아래 예와 같습니다.

AuthUserFile / public_html/secure/files/.htpasswd
AuthGroupFile / dev / null
AuthName EnterPassword
AuthType이 기본
사용자 secureUser 필요

이 코드 행은 ".htpasswd"라는 새 파일과 쌍을 이룹니다. 이 파일은 보안이 설정된 디렉토리에 있으며 사용자에게 보호 된 정보에 대한 액세스 권한을 부여하는 사용자 이름과 암호가 들어 있습니다. 위의 예에서 사용자 "secureUser"만이 디렉토리에 대한 액세스 권한을 가질 수 있고 사용자의 비트 위에있는 "AuthName EnterPassword"행에 의해 결정되는 필수 암호를 입력해야한다고 지정되었습니다 정의.

보호 된 디렉토리에 생성되는 ".htpasswd"파일에서 사용자는 한 줄의 코드 만 추가하면됩니다. 형식은 간단합니다. 모든 사용자와 암호 조합은 콜론을 사용하여 구분됩니다. 즉, 파일에 "user : password"를 추가하기 만하면됩니다. 이 경우 "secureUser : securedirectorypassword1"를 예로들 수 있습니다. 이렇게하면 가능한 모든 액세스 코드와 사용자 이름이 정의됩니다. 사이트 관리자는 "require user secureUser"구별을 ".htpasswd"파일 형식으로 제거하는 한이 목록에 여러 사용자와 암호를 포함시킬 수 있습니다. 또는 ".htpasswd"파일에서 올바른 암호를 삭제하면 언제든지 특정 개인이나 그룹에서 액세스가 취소 될 수 있도록 해당 코드 줄을 유지하면서 동일한 사용자 이름에 대해 여러 개의 암호를 정의 할 수 있습니다.

이 문제에 대한 자세한 내용은 다음을 참조하십시오. Linux 공유 호스팅 계정에서 .htpasswd 사용.

웹 사이트 컨텐트 및 정적 페이지에 대한 기억하기 쉬운 링크 정의

다작 ".htaccess"파일의 가장 널리 사용되는 방법 중 하나는 파일의 매개 변수를 사용하여 의미 상 쉽게 "퍼머 링크"WordPress 또는 MovableType과 같은 콘텐츠 관리 소프트웨어를 사용할 때 사이트 콘텐츠 및 정적 페이지 용으로 사용하면 사이트 콘텐츠를 기억하고 다시로드하는 데 도움이 될뿐만 아니라 주요 검색 엔진에서 웹 사이트의 검색 순위를 향상시킬 수 있습니다. 특정 페이지에 어떤 콘텐츠가 있고 해당 콘텐츠가 URL과 일치하는지 여부를 나타내는 제목 - URL 일치 항목은 사용자가 원하는 정보를 찾을 수있는 가능성이 높고 권한이 높음을 나타냅니다. permalink 구조를 사용할 때 중요한 수색 엔진.

사이트의 서버에 WordPress를 설치 한 사용자의 경우 설치 과정에서 요구 사항에 따라 다음 줄이 추가됩니다. 특히 3.0 이상의 최신 버전의 소프트웨어를 사용하는 경우 더욱 그렇습니다. 코드 줄은 아래 예와 동일하며 전 세계의 60 만 자체 WordPress 고객에게 표준으로 제공됩니다.

한다 RewriteEngine에
RewriteBase /
REQUEST_FILENAME한다 RewriteCond %의 {}! -f
REQUEST_FILENAME한다 RewriteCond %의 {}! -d
RewriteRule의. /index.php [L]

다시 말하지만, ".htaccess"파일 프로그래밍 지침의 줄 단위 구조를 쉽게 볼 수 있습니다. 이 간단한 몇 줄의 코드는 WordPress "index.php"파일을 콘텐츠 관리 소프트웨어 솔루션 자체에서 시작된 모든 URL의 기반으로 사용하도록 서버에 알립니다. 이 파일을 기본 파일로 사용하고 항목 제목을 영구 링크로 다시 쓰는 경우 URL 재 작성은 기본적으로 데이터베이스 쿼리와 파일 사용 권한을 결합하여 "친숙한"URL을 만듭니다. ".htaccess"파일을 수정하여 URL을 다시 작성하는 것은 현재 PHP 및 ASP 기반 콘텐츠 관리 소프트웨어 솔루션에서 친숙한 URL을 구성하는 주요 방법입니다.

로컬 또는 원격으로 최근 재배치 된 컨텐츠 검색 엔진 유도

퍼머 링크는 무작위로 재배치 된 콘텐츠 및 집중적 인 리디렉션 프로세스를 제거하도록 설계되었지만 문제를 완전히 제거하지는 못했습니다. 사실, 퍼머 링크는 모든 콘텐츠 관리 솔루션의 제어판에서 관리 할 수 ​​있습니다. 사용자가 퍼머 링크 구조를 변경하는 순간 CMS 소프트웨어의 범위 내에있는 모든 것이 누락되어 검색 엔진과 사용자 모두에게 오류를 던질 수 있습니다. 고객을 리디렉션하고 주요 검색 엔진에 "보이지 않는"오류가 발생하는 매우 간단한 ".htaccess"코드로 문제를 해결할 수 있습니다. 코드는 다음과 같습니다.

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

이 리디렉션은 이전 URL과 이전 URL을 나란히 나열합니다. 브라우저와 검색 엔진 "스파이더"모두에서 301 리디렉션 오류가 발생하도록 서버에 지시하지만 최종 사용자는이 오류를 전혀 볼 수 없습니다. 대신, 301 리다이렉션은 뒤에서 발생하는 보이지 않는 오류입니다. 사용자가 자동으로 새 경로와 새 콘텐츠로 이동하는 동안 브라우저와 검색 엔진은 "301"은 "영구적으로 이동 됨"을 의미한다는 것을 알고 있습니다. 브라우저와이 오류가 발생한 검색 엔진은 모두 새로운 URL을 반영하도록 레코드를 즉시 업데이트하며 이전 URL을 즉시 제거합니다.

이것은 고객을 잃지 않고 새로운 도메인 이름으로 이동할 수있는 좋은 방법입니다. 이전 서버의 ".htaccess"파일을 사용하여 위에서 제시 한 코드 행을 약간 변경하면 완전히 새로운 도메인 이름의 콘텐츠를 실제로 가리킬 수 있습니다. 이 경우 301 리디렉션 코드는 동일한 서버에서 두 개의 상대 경로를 가리키는 대신 다음과 같습니다.

리디렉션 301 / http://www.your-domain-name.com

이 명령은 서버가 루트 디렉토리 또는 하위 폴더에있는 모든 것을 이전 서버에 있던 것과 동일한 경로의 새 도메인 이름으로 보내도록 지시합니다. 모든 변경 사항은 실제 도메인 이름 자체입니다. 다시 말하지만 301 오류 코드를 사용하기 때문에 검색 엔진은 새 도메인 이름을 반영하도록 레코드를 자동으로 업데이트합니다. 이것은 유용성을위한 훌륭한 도구 일뿐만 아니라 웹 사이트가 검색 엔진 순위를 잃지 못하게합니다. 다시 시작하는 대신 검색 엔진은 새로운 위치의 동일한 웹 사이트임을 이해합니다. 그들은 오래된 인식과 순위를 유지할 것이고 관리자는이 고유 한 도메인 간 이동 방법을 사용하면 큰 도움이 될 것입니다.

보이지 않는 오류 및 리디렉션에서 사이트 방문자의 실제 오류 페이지에 이르기까지

".htaccess"파일은 검색 엔진을 눈에 보이지 않게 업데이트하면서 사용자를 새 콘텐츠로 리디렉션하는 데 전문화되어 있지만이 누락 된 파일은 콘텐츠가 누락되거나 표시 할 수 없거나 그러한 코드로 코딩 된 경우 특정 오류 페이지를 표시하는 데 사용할 수도 있습니다. 오류로 인해 페이지가 전혀로드되지 않습니다. 이 작업은 서버의 세 자리 오류 코드를 기반으로 표시 할 특정 페이지를 지정하여 수행됩니다. 이러한 코드는 Apache 및 IIS와 같은 서비스에 통합되므로 ".htaccess"파일을 넘어서 구성 할 필요가 없습니다. 아래 예제는 누락 된 페이지 및 디렉토리에 대한 "404 오류"라고하는 세계에서 가장 일반적인 오류 페이지를 처리합니다.

ErrorDocument 404 /404.html

사용자가 더 이상 존재하지 않는 링크 나 삭제 된 하위 폴더를 우연히 발견 할 때마다 ".htaccess"파일을 통해 정보 및 유용한 404 오류 페이지로 자동으로 리디렉션됩니다. 웹 사이트 관리자. 이것은 잃어버린 페이지에 대한 대안을 제시하지 않는 간단하고 명확한 오류 페이지를 보내지 않고 페이지를 다시 폴드 할 수있는 좋은 방법입니다.

동일한 프로세스가 존재하는 거의 모든 유형의 서버 기반 페이지로드 오류에 대해 완료 될 수 있습니다. 여기에는 401, 403 및 500 서버 오류와 더불어 대부분의 사용자가 겪는 전형적인 "페이지를 찾을 수없는"사고가 포함됩니다. 각 오류 코드의 의미를 조사하고 사용자가 기존 사이트 콘텐츠를 쉽게 다시 가져올 수 있도록 각 오류에 대해 맞춤 작성된 메시지 및 사이트 디자인을 제시해야합니다. 사이트의 탐색 또는 논리적 실패가 기회와 성공으로 바뀌는 것을 보장하는 최선의 방법입니다.

그 밖의 모든 것이 실패하면 간단한 코드 행을 사용하여 사용자를 금지

대부분의 경우, ".htaccess"파일은 평균적인 사용자 선호도로 작동하는 경향이있는 파일에 사용됩니다. 여기에는 오류 페이지, 맞춤 리디렉션 방법 및 '친숙한'퍼머 링크 URL 등이 포함됩니다. 그러나이 파일은 일부 사용자가 웹 사이트에 대한 액세스를 완전히 거부하는 데 사용할 수도 있습니다. 사이트 설명을 스팸 메일로 보내거나 동료 독자들 사이에서 종종 분열이나 논쟁을 일으키는 사람들을 차단하거나 단순히 액세스 권한을 책임감있게 처리 할 수없는 훌륭한 방법입니다.

사이트의 무결성을 유지하고 다른 독자가 불량 사과로 인해 다른 웹 사이트로 마이그레이션하지 않도록하려면 ".htaccess"파일을 사용하여 특정 IP 주소 나 전체 범위 (또는 "블록")를 금지 할 수 있습니다. IP 주소의. 즉, 전체 국가가 금지 될 수 있고, 전체 ISP가 금지 될 수 있습니다. 그렇지 않으면 전체 주, 지역 사회 또는 조직이 일일 콘텐츠를 읽고 문제를 일으킬 수있는 곳으로 이동해야합니다. 사이트의 ".htaccess"파일에 사용되면 사용자를 차단하는 프로세스는 다음과 같습니다.

모두에서 허용
158.23.144.12에서 거부
24.100에서 거부

위의 예에서 사이트는 158.23.144.12 IP 주소에서 방문하는 사용자를 제외한 모든 IP 주소의 방문자를 허용하도록 지시됩니다. 또한 24.100 IP 주소 범위의 모든 방문자는 사이트에 대한 액세스가 거부됩니다. 이 범위는 전체 인터넷 서비스 제공 업체의 고객 기반이 사이트 콘텐츠를 읽지 못하게합니다. 그러나 때때로이 경우가 필요할 수도 있습니다.

.htaccess 파일을 수용하고 사이트 기능 중 일부 전원 켜기

.htaccess 파일의 가장 좋은 점은 서버 관리자가 서버 관리자에게 "고급"또는 "루트"액세스 권한이 필요한 설정을 제어 할 수 있다는 것입니다. 이 파일은 액세스, 오류, 리디렉션을 관리하고 URL 구조와 의미 적 의미까지 관리하는 좋은 방법입니다. 마스터 링은 사이트의 신규 방문자 및 재 방문자를 보호하고 권한을 부여하는 열쇠입니다.

작성자 : Jerry Low

괴짜 아빠, Web Hosting Secret Revealed의 SEO 데이터 중독자, 투자자 겸 창립자. Jerry는 2004년 이후로 인터넷 자산을 구축하고 온라인으로 돈을 벌고 있습니다. 그는 아무 생각 없는 낙서와 새로운 음식을 먹는 것을 좋아합니다.