传送静态文件


本页面介绍如何将 CSS 作为静态文件进行传送。

与传统的网络托管环境不同,未进行相关配置之前,Google App Engine 不会直接在您应用的源目录之外提供文件。不过,您可能希望将静态文件(如图片,CSS 和 JavaScript 代码)直接提供给网络浏览器。您可以指示 App Engine 传送特定文件,而无需创建自己的处理程序。

本页面是多页教程中的一页。如需从头开始并查看设置说明,请转到创建留言板

定义处理程序

在以下代码示例中,app.yaml 文件定义了两个新的网址处理程序:

  1. 当 App Engine 收到网址以 /stylesheets 开头的请求时,App Engine 会将路径的剩余部分映射至 stylesheets 目录中的文件,而且如果找到了相应的文件,该文件的内容就会返回至客户端。

  2. 其他所有网址将与 /.* 路径相匹配,并由 helloworld.php 脚本进行处理。

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

网址处理程序路径格式将按照其在 app.yaml 中的顺序进行测试。在这种情况下,/stylesheets 模式将在 /.* 模式之前与相应路径进行匹配。如需详细了解网址映射和可在 app.yaml 中指定的其他选项,请参阅 app.yaml 参考文档

添加样式表

以下代码示例创建一个 CSS 文件,然后将其添加到应用中。

  1. 该代码示例将以下内容添加到 helloworld/stylesheets 目录中的 main.css 文件:

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

    默认情况下,App Engine 会根据文件扩展名使用 MIME 类型传送静态文件。例如,以 text/css MIME 类型传送名称以 .css 结尾的文件。在 app.yaml 配置文件中配置处理程序时,您可以使用 mime_type 设置配置具体的 MIME 类型。

  2. 为了在应用中使用样式表,示例代码在顶部的 <html> 行之后插入以下几行:

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