如何在 Google App Engine app.yaml 中处理尾部斜线

Posted

技术标签:

【中文标题】如何在 Google App Engine app.yaml 中处理尾部斜线【英文标题】:How to handle trailing slashing in Google App Engine app.yaml 【发布时间】:2015-10-16 17:46:56 【问题描述】:

我在这里尝试回答这个 SO 问题时遇到了这个问题:Removing php file extension when serving PHP files about how to route certain requests in app.yaml for Google App Engine。

但我不知道如何使用单个 app.yaml 正则表达式映射对可能有也可能没有斜杠的 url 的请求。现在,我用两行来处理这个案例:

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

但这似乎是多余的。这两行可以合二为一吗?

我认为应该可行的事情,比如

url: /(.*)(/?)

url: /(.*)(/0,1)

url: /(.*)(/?$)

似乎不适用于带有斜杠的请求。

【问题讨论】:

【参考方案1】:

使用非贪婪的正则表达式。

/(.*?)/?$

DEMO

【讨论】:

以上是关于如何在 Google App Engine app.yaml 中处理尾部斜线的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Google App Engine 的 app.yaml 文件中配置 servlet 过滤器?

如何在 Google App Engine 中创建版本号

如何在 Google Cloud Functions 和 Google App Engine 之间进行选择?

如何在 Google App Engine 中执行全文搜索?

如何减少 Google App Engine 部署的 ktor App 文件大小

如何在 Django/Google App Engine 中制作日志颜色?