问题描述
我在互联网上有很多包含 .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”结尾的任何内容。