首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >谷歌云应用引擎将所有/*.html结尾重定向到/?

问谷歌云应用引擎将所有/*.html结尾重定向到/?
EN

Stack Overflow用户
提问于 2021-02-14 05:35:03
回答 2查看 50关注 0票数 1

我在互联网上有很多包含.html结尾的反向链接。例如,https://mywebsite.de/blog.html,但同时我所有的网站都是https://mywebsite.de/blog。我使用了一个Flask后端,并且发现没有解决方案可以将这些.html末尾重定向到/。有没有可能使用app.yaml配置文件实现这一点?可能是这样的:

代码语言:javascript
复制
handlers:
- url: /*.html
{define here the redirect}

我在文档中找不到关于它的任何有用的东西。https://cloud.google.com/appengine/docs/standard/python/config/appref?hl=de#handlers_element

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-02-14 22:37:18

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

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

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

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

票数 2
EN

Stack Overflow用户

发布于 2021-02-16 04:54:51

按照盖凡的建议,我用Flask自己解决了这个问题。我的解决方案如下所示:

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

注意:此重定向仅用于/blog的子网站。不只是任何包含".html“结尾的东西。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66190153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档