Google App Engine PHP路由 - 查询参数

时间:2014-07-30 21:43:55

标签: php google-app-engine routing

我的app.yaml看起来像:

application: skilled-mark-657
version: 1
runtime: php
api_version: 1

handlers:
  - url: /scripts
    static_dir: scripts

  - url: /admin?dir=(.*)
    script: admin.php

  - url: /admin
    script: admin.php

  - url: /admin/delete
    script: delete.php

然后admin.php看起来像:

<?php
$path = str_replace("/admin", '', parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH));
$_GET['dir'] = $path;

var_dump($_GET);

当我转到 / admin?dir = someFolder 时,我会重定向回 / admin 。我正在尝试使用 / admin 或符合 / admin?dir =(。*)模式的网址。那么在我的 admin.php 中,我可以根据给定的查询参数正确查看正确的目录。我怎样才能正确实现这一目标?

1 个答案:

答案 0 :(得分:1)

我不太确定我是否完全按照您的说法行事,所以请随时提供更多详情。

如果我的理解是正确的,并且您希望所有/ admin网址都由admin.php处理,并且基本上能够获得&#39; dir&#39;那个被通过了,你可以试试这个:

的app.yaml

application: testapp
version: 1
runtime: php
api_version: 1

handlers:
  - url: /scripts
    static_dir: scripts

  - url: /admin.*
    script: admin.php

  - url: /admin/delete
    script: delete.php

admin.php的

<?php
echo ($_GET["dir"]);
?>