Google Cloud App Engine 将所有 /*.html 结尾重定向到 /?

问题描述

我在互联网上有很多包含 .html 结尾的反向链接。例如。 https://mywebsite.de/blog.html 但与此同时,我所有的网站都以 https://mywebsite.de/blog 的形式提供。 我使用 Flask 后端,但没有找到将这些 .html 结尾重定向到 / 的解决方案。 是否有可能为此使用 app.yaml 配置文件? 也许是这样的:

handlers:
- url: /*.html
{define here the redirect}

我在文档中发现没有任何帮助。 https://cloud.google.com/appengine/docs/standard/python/config/appref?hl=de#handlers_element

解决方法

您需要在 Flask 中执行此操作。我看到两个主要选项。

(1) 您可以使用正则表达式创建匹配的 Flask 路由。然后匹配所有以 .html 结尾的路由并进行重定向。

(2) 在函数上使用 @app.before_request,检查 request.url 是否以 .html 结尾,然后重定向。

请注意,Flask 中的 redirect 默认为 302,您可能希望指定 301 重定向。

,

正如 gaefan 建议的那样,我用 Flask 本身解决了这个问题。我的解决方案如下所示:

{{1}}

注意:这只会重定向 /blog 的子站点。不仅仅是包含“.html”结尾的任何内容。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...