정적 파일 제공


이 페이지에서는 CSS를 정적 파일로 제공하는 방법을 보여줍니다.

기존의 웹 호스팅 환경과 달리 Google App Engine은 파일을 애플리케이션의 소스 디렉터리에서 직접 제공하도록 구성하지 않는 한 직접 제공하지 않습니다. 하지만 이미지, CSS, 자바스크립트 코드와 같은 정적 파일을 웹브라우저에 직접 게재하기를 원할 수도 있습니다. 자체 핸들러를 만들 필요 없이 특정 파일을 제공하도록 App Engine에 지시할 수 있습니다.

이 페이지는 여러 페이지로 구성된 가이드의 일부입니다. 처음부터 시작하고 설정 안내를 확인하려면 방명록 만들기로 이동하세요.

핸들러 정의

다음 코드 샘플에서는 URL을 위한 두 개의 새로운 핸들러가 app.yaml 파일에 정의됩니다.

  1. App Engine은 URL이 /stylesheets로 시작하는 요청을 수신하면 경로의 나머지 부분을 stylesheets 디렉터리의 파일에 매핑하고, 적절한 파일이 발견되면 파일의 콘텐츠를 클라이언트에게 반환합니다.

  2. 다른 모든 URL은 /.* 경로를 통해 전달되며 helloworld.php 스크립트로 처리됩니다.

    runtime: php55
    api_version: 1
    
    handlers:
    - url: /stylesheets
      static_dir: stylesheets
    
    - url: /.*
      script: helloworld.php
    

URL 핸들러 경로 패턴은 app.yaml에 나타나는 순서대로 테스트됩니다. 이 경우 해당 경로에서 /stylesheets 패턴이 /.* 패턴보다 먼저 일치합니다. app.yaml에서 지정할 수 있는 URL 매핑 및 기타 옵션에 대한 자세한 내용은 app.yaml 참조를 확인하세요.

스타일시트 추가

다음 코드 샘플에서는 CSS 파일이 생성된 다음 애플리케이션에 추가됩니다.

  1. 코드 샘플이 helloworld/stylesheets 디렉터리의 main.css 파일에 다음 콘텐츠를 추가합니다.

    body {
      font-family: Verdana, Helvetica, sans-serif;
      background-color: #DDDDDD;
    }

    기본적으로 App Engine은 파일 이름 확장자를 기준으로 MIME 유형을 사용하여 정적 파일을 제공합니다. 예를 들어 이름이 .css로 끝나는 파일은 text/css MIME 유형으로 제공됩니다. app.yaml 구성 파일에서 핸들러를 구성할 때 mime_type 설정을 사용하여 명시적 MIME 유형을 구성할 수 있습니다.

  2. 애플리케이션에서 스타일시트를 사용하려면 코드 샘플에서 상단의 <html> 줄 다음에 다음 줄을 삽입합니다.

    <head>
      <link type="text/css" rel="stylesheet" href="/stylesheets/main.css" />
    </head>