Google App Engine php,app.yaml - 匹配没有扩展名的文件

时间:2015-01-18 06:39:56

标签: php regex google-app-engine

最终我试图路由任何没有文件扩展名的请求作为html文件 但我不能让url处理程序中使用的正则表达式工作

我已将app.yaml文件缩减为

handlers:
# extensionless file format
- url: /^([^.]+)$
  script: hndl.php

#root
- url: /
  script: root.php

# Serve php scripts.
- url: /(.+\.php)$
  script: script.php

- url: /.+
  script: index.php

但是没有扩展名的任何网址都由index.php

处理

任何人都可以帮助我使用正确的正则表达式匹配没有文件扩展名的网址,并解释为什么上面的正则表达式不起作用,非常感谢任何帮助

1 个答案:

答案 0 :(得分:1)

您的第一个正则表达式不正确,您正在尝试使用' ^'这标志着你已经指定了' /'之后的字符串或行的乞讨作为字符串的开头。

尝试

handlers:
- url: /([^.]+)
  script: hndl.php

如果你只想静态地提供html文件,而不是再调用php脚本,那么试试

handler:
- url: /([^.]+)
  static_files: \1.html
  upload: .*\.html