robots.txt 파일은 웹을 크롤링하는 검색엔진 로봇이 사이트에 액세스하는 것을 제한합니다. 검색 로봇은 자동으로 작동하며 한 사이트의 페이지에 액세스하기 전에 특정 페이지에 대한 액세스를 차단하는 robots.txt 파일이 있는지 여부를 확인합니다. 지시를 다르게 해석하는 로봇이 일부 있을 수 있지만 잘 제작된 모든 로봇은 robots.txt 파일의 지시를 존중합니다. robots.txt 파일에 지정된 규칙은 강제성이 없으므로 일부 스패머나 악의적 사용자는 무시할 수도 있습니다. 따라서 비공개 정보를 보호할 수 있도록 비밀번호를 사용하는 것이 좋습니다.


robots.txt 파일은 사이트에 검색엔진을 통해 색인이 생성되지 않도록 하려는 콘텐츠가 포함되어 있는 경우에만 필요합니다. 검색엔진이 사이트 내의 모든 콘텐츠에 대해 색인을 생성하도록 하려면 robots.txt 파일은 필요 없으며 이는 빈 파일이라도 마찬가지입니다

robots.txt 파일은 호스트의 최상위 디렉토리에 위치하여 해당 프로토콜과 포트 번호를 통해 액세스할 수 있어야 합니다. 

robots.txt(및 웹사이트 크롤링)에서 일반적으로 허용되는 프로토콜은 'http'와 'https'입니다. 

http와 https에서 robots.txt 파일은 비조건부 HTTP GET 요청(Non-conditional HTTP GET request)을 사용하여 가져옵니다.


robots.txt 파일에 나열된 명령어는 파일이 호스팅된 호스트, 프로토콜, 포트 번호에만 적용됩니다.


참고: robots.txt 파일의 URL은 다른 URL에서와 같이 대소문자를 구분합니다.

가장 간단한 형식의 robots.txt 파일은 다음 두 가지 규칙을 사용합니다.

  • User-agent : 아래에 나오는 규칙이 적용되는 로봇
  • Disallow: 차단할 URL

이 두 행은 파일 내에서 단일 항목으로 간주됩니다. 원하는 만큼 항목을 추가할 수 있으며 하나의 항목에 여러 Disallow 행 및 여러 User-agent를 포함할 수도 있습니다.

robots.txt 파일의 각 섹션은 별개이며 이전 섹션 위에 빌드되지 않습니다. 예를 들면 다음과 같습니다.

User-agent: *
Disallow: /folder1/

User-Agent: Googlebot
Disallow: /folder2/

이 예에서는 /folder2/와 일치하는 URL만 Googlebot에 대해 차단됩니다.

User-agent 및 검색 로봇

user-agent는 특정 검색엔진 로봇입니다. 웹 로봇 데이터베이스에는 다양한 일반적인 검색 로봇이 나와 있습니다. 이름을 표시하여 특정 검색 로봇에 적용할 항목을 설정할 수도 있고, 별표(*)를 사용하여 모든 검색 로봇에 적용할 항목을 설정할 수도 있습니다. 모든 검색 로봇에 적용되는 항목의 형식은 다음과 같습니다.

User-agent: *

Google은 다양한 검색 로봇(user-agent)을 사용합니다. Google이 웹 검색에 사용하는 검색 로봇은 Googlebot입니다. Googlebot-Mobile 및 Googlebot-Image와 같은 기타 로봇은 Googlebot에 설정된 규칙을 따르지만 해당 검색 로봇에만 적용되는 특정 규칙을 설정할 수도 있습니다.

user-agent 차단

Disallow 행에는 차단할 페이지를 표시합니다. 특정 URL이나 패턴을 포함할 수 있으며, 각 항목은 슬래시(/)로 시작해야 합니다.

  • 사이트 전체를 차단하려면 슬래시를 사용합니다.
    Disallow: / 
  • 디렉토리 및 디렉토리에 포함된 모든 항목을 차단하려면 디렉토리 이름 다음에 슬래시를 사용합니다.
    Disallow: /junk-directory/
  • 특정 페이지를 차단하려면 해당 페이지를 표시합니다.
    Disallow: /private_file.html
  • Google 이미지에서 특정 이미지를 삭제하려면 다음을 추가합니다.
    User-agent: Googlebot-Image
    Disallow: /images/dogs.jpg 
  • Google 이미지에서 사이트에 있는 모든 이미지를 삭제하려면 다음과 같이 설정합니다.
    User-agent: Googlebot-Image
    Disallow: / 
  • 특정 파일 형식(예: .gif)을 차단하려면 다음과 같이 설정합니다.
    User-agent: Googlebot 
    Disallow: /*.gif$
  • 사이트 페이지에 애드센스 광고를 게재하면서도 크롤링되지 않도록 하려면 Mediapartners-Google을 제외한 모든 검색 로봇을 차단합니다. 이렇게 하면 해당 페이지가 검색결과에는 표시되지 않지만 Mediapartners-Googlebot이 페이지를 분석하여 광고를 게재하도록 합니다. Mediapartners-Google 로봇은 다른 Google user-agent와 페이지를 공유하지 않습니다. 예를 들면 다음과 같습니다.
    User-agent: *
    Disallow: /
    
    User-agent: Mediapartners-Google
    Allow: /

명령문은 대소문자를 구분합니다. 예를 들어, Disallow: /junk_file.asp는 http://www.example.com/junk_file.asp URL은 차단하지만 http://www.example.com/Junk_file.asp URL은 허용합니다. Googlebot은 robots.txt에서 빈 공간(특히 빈 행)과 알 수 없는 명령문을 무시합니다.

Googlebot은 robots.txt 파일을 통한 Sitemap 파일 제출을 지원합니다.

패턴 일치

패턴 일치를 인식하지 못하는 검색엔진도 있지만, Googlebot은 일부 패턴 일치를 인식합니다.

  • 문자열을 일치시키려면 별표(*)를 사용합니다. 예를 들어, private로 시작하는 모든 하위 디렉토리에 대한 액세스를 차단하려면 다음과 같이 설정합니다.
    User-agent: Googlebot
    Disallow: /private*/
  • 물음표(?)를 포함하는 모든 URL에 대한 액세스를 차단할 수 있습니다. 특히 도메인 이름으로 시작되고 임의의 문자열, 물음표, 임의의 문자열로 구성된 모든 URL에 대한 액세스를 차단하려면 다음과 같이 설정합니다.
    User-agent: Googlebot
    Disallow: /*?
  • URL의 마지막 부분이 일치하도록 지정하려면 $ 문자를 사용합니다. 예를 들어 .xls로 끝나는 모든 URL을 차단하려면 다음과 같이 설정합니다.
    User-agent: Googlebot 
    Disallow: /*.xls$

    이 패턴 일치를 Allow 명령어와 함께 사용할 수 있습니다. 예를 들어 ?가 세션 ID를 나타내는 경우, 이를 포함하는 모든 URL을 제외시켜 Googlebot이 중복된 페이지를 크롤링하지 않도록 해야 합니다. 그러나 ?로 끝나는 URL이 크롤링하려는 페이지의 버전이 될 수도 있습니다. 이런 경우 robots.txt 파일을 다음과 같이 설정합니다.

    User-agent: *
    Allow: /*?$
    Disallow: /*?

    Disallow: / *? 명령어는 ?가 포함된 모든 URL을 차단합니다. 즉, 도메인 이름으로 시작되고 임의의 문자열, 물음표, 임의의 문자열로 구성된 모든 URL을 차단합니다.

    Allow: /*?$ 명령어는 ?로 끝나는 모든 URL을 허용합니다. 즉, 도메인 이름으로 시작되고 임의의 문자열과 ?로 구성되며 ? 뒤에 문자가 없는 모든 URL을 허용합니다.

robots.txt 파일을 저장하려면 파일을 다운로드하거나 콘텐츠를 텍스트 파일에 복사한 후 robots.txt로 저장합니다. 해당 파일을 사이트의 최상위 디렉토리에 저장합니다. robots.txt 파일은 도메인의 루트에 있어야 하며 이름은 ‘robots.txt’여야 합니다. 검색 로봇은 도메인의 루트에 있는 robots.txt 파일만 찾기 때문에 하위 디렉토리에 있는 파일은 유효하지 않습니다. 예를 들어, http://www.example.com/robots.txt 페이지는 유효한 위치이지만, http://www.example.com/mysite/robots.txt 페이지는 그렇지 않습니다



유효한 robots.txt URL의 예:

robots.txt URL유효함유효하지 않음설명
http://example.com/robots.txthttp://example.com/
http://example.com/folder/file
http://other.example.com/
https://example.com/
http://example.com:8181/
일반적인 경우입니다. 다른 하위 도메인, 프로토콜 또는 포트 번호에는 유효하지 않습니다. 같은 호스트, 프로토콜 및 포트 번호의 모든 하위 디렉토리에 있는 모든 파일에 대해 유효합니다.
http://www.example.com/robots.txthttp://www.example.com/http://example.com/
http://shop.www.example.com/
http://www.shop.example.com/
하위 도메인의 robots.txt는 해당 하위 도메인에 대해서만 유효합니다.
http://example.com/folder/robots.txt유효한 robots.txt 파일이 아닙니다. 크롤러는 하위 디렉토리의 robots.txt 파일은 확인하지 않습니다.
http://www.müller.eu/robots.txthttp://www.müller.eu/
http://www.xn--mller-kva.eu/
http://www.muller.eu/IDN은 punycode 버전과 같습니다. RFC 3492도 참조하세요.
ftp://example.com/robots.txtftp://example.com/http://example.com/Google 특정: Google은 FTP 리소스에 robots.txt를 사용합니다.
http://212.96.82.21/robots.txthttp://212.96.82.21/http://example.com/(212.96.82.21에 호스팅된 경우에도)호스트 이름으로 IP 주소를 사용한 robots.txt는 이 IP 주소를 호스트 이름으로 크롤링하는 경우에만 유효합니다. 해당 IP 주소에 호스팅된 모든 웹사이트에 대해 자동으로 유효하지 않습니다. 하지만 robots.txt 파일을 공유할 수 있으므로 이 경우 공유된 호스트 이름으로 사용할 수 있습니다.
http://example.com:80/robots.txthttp://example.com:80/
http://example.com/
http://example.com:81/표준 포트 번호(http: 80, https: 443, ftp: 21)는 기본 호스트 이름과 같습니다.
http://example.com:8181/robots.txthttp://example.com:8181/http://example.com/비표준 포트 번호의 robots.txt 파일은 해당 포트 번호를 통해 사용할 수 있는 콘텐츠에 대해서만 유효합니다.


robots.txt 파일을 가져오면 일반적으로 다음과 같이 세 개의 다른 결과가 나타납니다.

  • 전체 허용: 모든 콘텐츠를 크롤링할 수 있습니다.
  • 전체 금지: 어떠한 콘텐츠도 크롤링할 수 없습니다.
  • 조건부 허용: robots.txt의 명령어가 특정 콘텐츠의 크롤링 기능을 결정합니다.
2xx(성공)
robots.txt 파일에 대한 크롤링이 성공하였고, 파일의 내용에 따라 해당 사이트의 웹 콘텐츠에 대한 크롤링 여부를 결정합니다.
3xx(리디렉션)
일반적으로 유효한 결과를 찾을 수 있거나 루프를 인식할 때까지 리디렉션이 이어집니다. Google은 제한된 수의 리디렉션 홉( HTTP/1.0의 경우 RFC 1945에서 허용하는 최대 홉 수: 5)을 따른 다음 중단하고 이를 404로 처리합니다. robots.txt파일이 크롤할 수 없는 URL로 리디렉션 처리되는 경우는 정의되어 있지 않으며 사용하지 않는 것이 좋습니다. 2xx를 반환하는 HTML 콘텐츠 기반의 robots.txt 파일에 대한 논리적 리디렉션(프레임, 자바스크립트, 메타 새로고침 유형 리디렉션)은 정의되어 있지 않으며 사용하지 않는 것이 좋습니다.
4xx(클라이언트 오류)
Google은 모든 4xx 오류를 같은 방식으로 처리하며 유효한 robots.txt 파일이 없다고 가정합니다. 또한 제한이 없다고 가정합니다. 크롤링의 '전체 허용'입니다. 참고: 여기에는 401 'Unauthorized' 및 403 'Forbidden' HTTP 결과 코드가 포함됩니다.
5xx(서버 오류)
서버 오류는 크롤링 '전체 금지'의 원인이 되는 일시적인 오류로 인해 나타납니다. 서버 오류가 아닌 HTTP 결과 코드를 얻을 때까지 요청이 다시 시도됩니다. 503(Service Unavailable) 오류는 잦은 재시도로 인해 발생합니다. 크롤링을 일시 중지하려면 503 HTTP 결과 코드를 사용하는 것이 좋습니다. 영구적인 서버 오류 처리는 정의되어 있지 않습니다.

Google 특정: Google이 누락된 페이지에 대해 404 대신 5xx를 반환하도록 사이트를 잘못 구성한 것으로 판단할 수 있는 경우 해당 사이트의 5xx 오류를 404로 처리합니다.
실패한 요청 또는 불완전한 데이터
시간 초과, 잘못된 응답, 연결 재설정/중단, HTTP 청킹 오류 등 DNS 또는 네트워킹 문제로 인해 가져올 수 없는 robots.txt 파일 처리는 정의되어 있지 않습니다.
캐시
robots.txt 요청은 일반적으로 최대 하루 분량이 캐시되지만 시간 초과 또는 5xx 오류 등으로 인해 캐시된 버전을 새로 고칠 수 없는 경우 캐시 기간이 더 길어질 수 있습니다. 캐시된 응답은 다른 크롤러에 의해 공유될 수 있습니다. Google은 max-age Cache-Control HTTP 헤더를 기반으로 하여 캐시 기간을 늘리거나 줄일 수 있습니다.

파일 형식

예상 파일 형식은 UTF-8로 인코딩된 일반 텍스트입니다. 파일은 CR, CR/LF 또는 LF로 구분된 레코드(행)로 구성됩니다.

유효한 레코드만 고려되며 그 외 다른 콘텐츠는 모두 무시됩니다. 예를 들어 결과 문서가 HTML 페이지인 경우 유효한 텍스트 줄만 고려되며 나머지는 경고나 오류를 내보내지 않고 삭제됩니다.

문자 인코딩이 사용되었는데 사용된 문자가 UTF-8 하위 집합이 아닌 경우 파일 콘텐츠가 잘못 파싱될 수 있습니다.

robots.txt 파일의 선택적 유니코드 BOM(바이트 순서 표시)은 무시됩니다.

각 레코드는 필드, 콜론 및 값으로 구성됩니다. 공백은 선택사항이지만 쉽게 읽을 수 있도록 사용하는 것이 좋습니다. 주석은 '#' 문자를 사용하여 파일의 어느 위치에나 삽입될 수 있습니다. 주석의 시작부터 레코드 끝까지 모든 내용은 주석으로 처리되며 무시됩니다. 일반 형식은 '<field>:<value><#optional-comment>'입니다. 레코드의 시작과 끝에 있는 공백은 무시됩니다.

<field> 요소는 대소문자를 구분합니다. <value> 요소는 <field> 요소에 따라 대소문자를 구분할 수 있습니다.

간단한 오류나 오타가 있는 <field> 요소(예: 'user-agent' 대신 'useragent' 사용) 처리는 정의되어 있지 않으며 일부 user-agent에서는 올바른 명령어로 해석될 수 있습니다.

크롤러당 최대 파일 크기가 제한될 수 있습니다. 최대 파일 크기를 넘는 콘텐츠는 무시될 수 있습니다. 현재 Google은 크기를 500KB로 제한합니다.


공식 구문/정의

다음은 robots.txt 파일을 기술하기 위한 문법입니다. 배커스 나우어 형식(BNF)이며, 여러 개 중 하나를 선택하는 '|'를 제외하고 RFC 822와 동일합니다. 상수는 ""로 인용되며 괄호 '(' 및 ')'는 요소의 그룹을 지정하는 데 사용됩니다. 선택적 요소는 [꺽쇠 괄호]를 사용하여 묶고 <n>*으로 시작되는 요소는 다음 요소의 n번 이상의 반복을 나타낼 수 있습니다. n의 기본값은 0입니다.

robotstxt = *entries
entries = *( ( <1>*startgroupline 
  *(groupmemberline | nongroupline | comment)
  | nongroupline
  | comment) )
startgroupline = [LWS] "user-agent" [LWS] ":" [LWS] agentvalue [comment] EOL
groupmemberline = [LWS] (
  pathmemberfield [LWS] ":" [LWS] pathvalue
  | othermemberfield [LWS] ":" [LWS] textvalue) [comment] EOL
nongroupline = [LWS] (
  urlnongroupfield [LWS] ":" [LWS] urlvalue
  | othernongroupfield [LWS] ":" [LWS] textvalue) [comment] EOL
comment = [LWS] "#" *anychar
agentvalue = textvalue

pathmemberfield = "disallow" | "allow"
othermemberfield = ()
urlnongroupfield = "sitemap"
othernongroupfield = ()

pathvalue = "/" path
urlvalue = absoluteURI
textvalue = *(valuechar | SP)
valuechar = <any UTF-8 character except ("#" CTL)>
anychar = <any UTF-8 character except CTL>
EOL = CR | LF | (CR LF)

'absoluteURI', 'CTL', 'CR', 'LF', 'LWS'에 대한 구문은 RFC 1945에 정의되어 있습니다. 'path'에 대한 구문은 RFC 1808에 정의되어 있습니다.

레코드 그룹 지정

레코드는 <field> 요소의 유형을 기반으로 하여 다음과 같이 서로 다른 유형으로 분류됩니다.

  • start-of-group
  • 그룹 멤버
  • non-group
  • start-of-group 레코드부터 다음 start-of-group 레코드까지 모든 그룹 멤버 레코드는 하나의 레코드 그룹으로 처리됩니다. 유일한 start-of-group 필드 요소는user-agent입니다. 여러 start-of-group 줄은 마지막 start-of-group 줄을 따라 서로 그룹 멤버 레코드를 따라갑니다. 선행 start-of-group 레코드가 없는 그룹 멤버 레코드는 모두 무시됩니다. 모든 non-group 레코드는 모든 그룹과 관계없이 유효합니다.

    유효한 <field> 요소는 다음과 같으며 본 문서에 별도로 자세히 설명됩니다.

    • user-agent(start of group)
    • disallow(그룹 멤버 레코드로만 유효함)
    • allow(그룹 멤버 레코드로만 유효함)
    • sitemap(non-group 레코드)
    • 그 외 모든 <field> 요소는 무시될 수 있습니다.

      start-of-group 요소 user-agent는 그룹이 유효한 크롤러를 지정하는 데 사용됩니다. 특정 크롤러에 대해 하나의 레코드 그룹만 유효합니다. 우선 순위는 본 문서에서 나중에 다룹니다.

      예제 그룹:

      user-agent: a
      disallow: /c
      
      user-agent: b
      disallow: /d
      
      user-agent: e
      user-agent: f
      disallow: /g
      

      지정된 고유 그룹은 세 개가 있으며, 'a' 그룹, 'b' 그룹을 비롯하여 'e'와 'f' 모두에 대한 그룹이 있습니다. 각 그룹에는 고유 그룹 멤버 레코드가 있습니다. 쉽게 읽을 수 있도록 공백(빈 줄)을 사용할 수도 있습니다.

      맨위로

      user-agent 우선 순위

      특정 크롤러에 대해 하나의 그룹 멤버 레코드 그룹만 유효합니다. 크롤러는 일치하는 가장 관련된 user-agent가 있는 그룹을 찾아서 올바른 레코드 그룹을 결정해야 합니다. 다른 모든 레코드 그룹은 크롤러에 의해 무시됩니다. user-agent는 대소문자를 구분하지 않습니다. 일치하지 않는 모든 텍스트는 무시됩니다. 예를 들어 googlebot/1.2 및 googlebot*는 모두 googlebot과 같습니다. robots.txt 파일 내 그룹의 순서는 서로 관련없습니다.

      예제:

      다음 robots.txt 파일 가정:

      user-agent: googlebot-news
      (group 1)
      
      user-agent: *
      (group 2)
      
      user-agent: googlebot
      (group 3)
      

      다음은 크롤러가 관련 그룹을 선택하는 방법입니다.

      크롤러 이름이어지는 레코드 그룹설명
      뉴스 Googlebot(그룹 1)가장 관련된 그룹만 따라가며 나머지는 모두 무시됩니다.
      Googlebot(web)(그룹 3) 
      이미지 Googlebot(그룹 3)googlebot-images 그룹은 없으므로 좀 더 일반적인 그룹의 규칙을 따릅니다. 따라서 보다 일반적인 그룹을 검색합니다.
      뉴스 Googlebot(이미지를 크롤링할 때)(그룹 1)뉴스 Googlebot이 이미지를 크롤링하는 경우 뉴스 Googlebot 그룹의 규칙을 따릅니다.
      다른 검색 로봇(web)(그룹 2) 
      다른 검색 로봇(News)(그룹 2)연관된 검색 로봇을 위한 항목이 있다 하더라도, 이름이 일치하는 경우에만 유효합니다.

      부록: Google의 크롤러와 user-agent 문자열도 참고하세요.

      맨위로

      그룹 멤버 레코드

      본 섹션에서는 일반적인 또는 Google에 특화된 그룹 멤버 레코드에 대해서 다룹니다. 레코드 타입은 크롤러에서는 명령어(directives)라고 불립니다. 명령어는 '명령어: [경로]'의 형태로 사용됩니다. 여기에서 [경로] 부분은 선택사항입니다. 해당 그룹의 기본 값은 지정된 크롤러에 대해서 크롤링에 제한이 없는 것입니다. [경로]가 없는 명령어는 무시됩니다.

      [경로] 를 명기할 경우 해당 웹사이트의 루트로부터 상대적인 경로를 사용합니다. 이 때 같은 프로토콜, 포트 번호, 호스트 및 도메인명의 웹사이트에 존재하는 파일에 대한 상대 경로를 지정합니다. 경로의 값은 루트를 의미하는 '/' 문자로부터 시작해야 합니다. 만일 '/' 문자로 시작하지 않으면 크롤러는 '/' 문자가 맨 앞에 있는 것으로 가정합니다. 경로는 대소문자를 구분합니다. 더 자세한 내용은 아래의 '경로 값에 의한 URL 매칭' 섹션을 참고하세요.

      disallow

      disallow 명령어는 지정된 크롤러가 액세스하면 안되는 경로를 지정합니다. 경로를 지정하지 않으면 명령어가 무시됩니다.

      사용:

      disallow: [path]
      

      allow

      allow 명령어는 지정된 크롤러가 액세스할 수 있는 경로를 지정합니다. 경로를 지정하지 않으면 명령어가 무시됩니다.

      사용:

      allow: [path]
      

      맨위로

      경로 값에 의한 URL 매칭

      경로 값은 사이트의 특정 URL에 규칙을 적용할지 여부를 결정하기 위한 기준으로 사용됩니다. 와일드카드를 제외하고 경로는 URL 및 같은 경로로 시작하는 유효한 모든 URL의 시작을 비교하는 데 사용됩니다. RFC 3986 당 UTF-8 문자 또는 퍼센트 이스케이프 처리된 UTF-8 인코딩된 문자로 7비트가 아닌 ASCII 문자가 경로에 포함될 수 있습니다.

      참고: 'AJAX-크롤링' URL은 크롤링된 버전에 지정해야 합니다. Google의 AJAX 응용프로그램을 크롤링 가능하게 하기 문서도 참조하시기 바랍니다.

      Google, Bing, Yahoo 및 Ask는 경로 값에 대해 제한된 형태의 '와일드카드'를 지원합니다. 해당 유형은 다음과 같습니다.

      1. *는 0개 이상의 유효한 문자 인스턴스를 나타냅니다.
      2. $는 URL의 끝을 나타냅니다.

      경로 일치의 예

      [경로]일치일치하지 않음설명
      /모든 유효한 URL 루트 및 그 이하 수준의 모든 URL과 일치합니다.
      /*/와 같음/와 같음'/'와 같습니다. 뒤쪽 와일드카드는 무시됩니다.
      /fish/fish
      /fish.html
      /fish/salmon.html
      /fishheads
      /fishheads/yummy.html
      /fish.php?id=anything
      /Fish.asp
      /catfish
      /?id=fish
      일치에 대소문자를 구분합니다.
      /fish*/fish
      /fish.html
      /fish/salmon.html
      /fishheads
      /fishheads/yummy.html
      /fish.php?id=anything
      /Fish.asp
      /catfish
      /?id=fish
      '/fish'와 같습니다. 뒤쪽 와일드카드는 무시됩니다.
      /fish//fish/
      /fish/?id=anything
      /fish/salmon.htm
      /fish
      /fish.html
      /Fish/Salmon.asp
      뒤쪽 슬래시는 이 폴더 내에 있는 모든 항목과 일치함을 의미합니다.
      fish//fish/와 같음/fish/와 같음/fish/와 같음
      /*.php/filename.php
      /folder/filename.php
      /folder/filename.php?parameters
      /folder/any.php.file.html
      /filename.php/
      /(/index.php에 매핑하는 경우에도 해당)
      /windows.PHP
       
      /*.php$/filename.php
      /folder/filename.php
      /filename.php?parameters
      /filename.php/
      /filename.php5
      /windows.PHP
       
      /fish*.php/fish.php
      /fishheads/catfish.php?parameters
      /Fish.PHP 



    그룹 멤버 레코드의 우선 순위

    한 그룹 멤버 수준에서 특별히 allow 및 disallow 명령어의 경우 [경로] 항목의 길이를 기준으로 한 가장 구체적인 규칙이 덜 구체적인(짧은) 규칙보다 우선합니다. 와일드카드가 있는 규칙에 대한 우선 순위는 정의되어 있지 않습니다.

    샘플 상황:

    URL허용:금지:결과설명
    http://example.com/page/p/allow 
    http://example.com/folder/page/folder//folderallow 
    http://example.com/page.htm/page/*.htmundefined 
    http://example.com//$/allow 
    http://example.com/page.htm/$/disallow





+ Recent posts