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自己解决了这个问题。我的解决方案如下:

@app.route('/blog/<slug>.html')
def html_redirect(slug):
return redirect(f"https://mywebsite.de/blog/{slug}" ,code=301)

注意:此重定向只针对/blog的子站点。不仅仅是任何包含"。html"结局。

相关内容

  • 没有找到相关文章

最新更新