Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine 谷歌云应用引擎将所有/*.html结尾重定向到/?_Google App Engine_Flask_Redirect_Url Rewriting_App.yaml - Fatal编程技术网

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

Google app engine 谷歌云应用引擎将所有/*.html结尾重定向到/?,google-app-engine,flask,redirect,url-rewriting,app.yaml,Google App Engine,Flask,Redirect,Url Rewriting,App.yaml,我在互联网上有很多包含.html结尾的反向链接。例如。 但我所有的网站都是同时提供的。 我使用Flask后端,但没有找到将这些.html结尾重定向到/的解决方案。 是否有可能为此使用app.yaml配置文件? 可能是这样的: handlers: - url: /*.html {define here the redirect} 我发现文档中没有任何关于它的帮助 您需要在烧瓶内完成此操作。我看到两个主要的选择 (1) 您可以使用正则表达式创建匹配的烧瓶路由。然后匹配以.html结尾的所有路由并执

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

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

我发现文档中没有任何关于它的帮助

您需要在烧瓶内完成此操作。我看到两个主要的选择

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

(2) 使用
@app。在对函数执行请求之前,检查
请求.url
是否以
.html
结尾,然后重定向


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

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

@app.route('/blog/<slug>.html')
def html_redirect(slug):
    return redirect(f"https://mywebsite.de/blog/{slug}" ,code=301)
@app.route('/blog/.html'))
def html_重定向(slug):
返回重定向(f)https://mywebsite.de/blog/{slug},代码=301)
注意:此重定向仅适用于/blog的子网站。不仅仅是任何包含“.html”结尾的内容