【问题标题】:Google app engine-php: script handlerGoogle app engine-php:脚本处理程序
【发布时间】:2013-10-24 15:27:16
【问题描述】:

我尝试使用 GAE 创建 php web 应用程序。

在 GAE 教程中,“脚本处理程序执行 PHP 脚本来处理与 URL 模式匹配的请求。映射定义了要匹配的 URL 模式,以及要执行的脚本”

现在我想将 url 映射到文件夹中具有相同名称的文件,例如如果 url 是 /hello.* ,它将映射文件夹中的文件名 hello.php 。而如果是/hello1.*,则文件夹中的hello1.php会响应服务器。

我认为这应该直接通过将 url 的名称与文件夹中的名称进行映射来完成。但是,如果我在 app.yaml 中为处理程序留空,则会出现错误。

所以我想知道如何在 app.yaml 中设置处理程序?

【问题讨论】:

    标签: php google-app-engine handler


    【解决方案1】:

    使用数字字符类提取数字,使用?要匹配 0 次或更多次,请使用 .* 匹配 url 的其余部分。

    - url: /hello(\d?).*
      script: hello\1.php
    

    当然,如果您只是想将传入的 URL 匹配到同名的文件,您可以使用

    - url: /(.*)\.php$
      script: (\1).php
    

    如果您不希望他们将 .php 指定为 URL 的结尾,那么它是

    - url : /(.*)
      script: (\1).php
    

    【讨论】:

    【解决方案2】:

    https://developers.google.com/appengine/docs/php/config/appconfig#PHP_app_yaml_Script_handlers

    handlers:
    - url: /hello([0-9]*).(.*)
      script: /hello\1.php
    

    我认为你会做类似的事情。 RegEx 不正确的可能性很大,但您明白了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-19
      • 2011-03-21
      • 2017-02-02
      • 1970-01-01
      • 2011-08-12
      • 1970-01-01
      • 2019-03-01
      • 1970-01-01
      相关资源
      最近更新 更多