Google App Engine php、app.yaml - 不带扩展名的匹配文件
Google App Engine php, app.yaml - matching files without extension
最终我试图路由任何没有文件扩展名的请求作为 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
但是没有扩展名的任何 url 都由 index.php
处理
任何人都可以帮助我使用正确的正则表达式来匹配没有文件扩展名的 urls 并解释为什么上面的正则表达式不起作用,非常感谢任何帮助
您的第一个正则表达式不正确,在您已经将“/”指定为字符串的开头后,您试图使用标记字符串或行开头的“^”。
尝试
handlers:
- url: /([^.]+)
script: hndl.php
如果您只想静态提供 html 文件,而不是调用 php 脚本,那么请尝试
handler:
- url: /([^.]+)
static_files: .html
upload: .*\.html
最终我试图路由任何没有文件扩展名的请求作为 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
但是没有扩展名的任何 url 都由 index.php
处理任何人都可以帮助我使用正确的正则表达式来匹配没有文件扩展名的 urls 并解释为什么上面的正则表达式不起作用,非常感谢任何帮助
您的第一个正则表达式不正确,在您已经将“/”指定为字符串的开头后,您试图使用标记字符串或行开头的“^”。
尝试
handlers:
- url: /([^.]+)
script: hndl.php
如果您只想静态提供 html 文件,而不是调用 php 脚本,那么请尝试
handler:
- url: /([^.]+)
static_files: .html
upload: .*\.html