我在互联网上有很多包含.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
发布于 2021-02-14 22:37:18
您需要在Flask中执行此操作。我看到了两个主要的选择。
(1)您可以使用正则表达式创建匹配的Flask路由。然后匹配所有以.html结尾的路由并执行重定向。
(2)在函数上使用@app.before_request,检查request.url是否以.html结尾,然后重定向。
请注意,Flask中的redirect默认情况下是302,您可能希望指定301重定向。
发布于 2021-02-16 04:54:51
按照盖凡的建议,我用Flask自己解决了这个问题。我的解决方案如下所示:
@app.route('/blog/<slug>.html')
def html_redirect(slug):
return redirect(f"https://mywebsite.de/blog/{slug}" ,code=301)注意:此重定向仅用于/blog的子网站。不只是任何包含".html“结尾的东西。
https://stackoverflow.com/questions/66190153
复制相似问题