Kit*_*Kit 3 python dns redirect heroku flask
我成功地为我的应用添加了Heroku自定义域名.我想知道如何捕获以开头的请求www并将它们重定向到裸域.例如,我将以下自定义域映射到我的Heroku应用程序:
www.myapp.com
myapp.com
Run Code Online (Sandbox Code Playgroud)
请求http://myapp.com和http://www.myapp.com成功,但www保持.
我希望将所有请求http://www.myapp.com重定向到http://myapp.com.这也适用于其他路径,例如http://www.myapp.com/some/foo/bar/path重定向到http://myapp.com/some/foo/bar/path.我想要这样的东西:http://www.stef.io,看看它www.是如何离开地址栏的.
到目前为止,我在Google上找到的说明是关于编辑我的.htaccess文件,但我正在使用Flask框架上的Python应用程序在Heroku上运行.
建议的解决方案是DNS级别重定向(请参阅heroku帮助).
或者,您可以注册一个before_request功能:
from urlparse import urlparse, urlunparse
@app.before_request
def redirect_www():
"""Redirect www requests to non-www."""
urlparts = urlparse(request.url)
if urlparts.netloc == 'www.stef.io':
urlparts_list = list(urlparts)
urlparts_list[1] = 'stef.io'
return redirect(urlunparse(urlparts_list), code=301)
Run Code Online (Sandbox Code Playgroud)
这将使用"HTTP 301 Moved Permanently"响应将所有www请求重定向到非www.
| 归档时间: |
|
| 查看次数: |
1463 次 |
| 最近记录: |