如何在404时重定向到特定URL
@error(404)
def error404(error):
return 'Nothing here, sorry'
这是在 bottle framework
中处理404错误的方法。但是当出现404错误时,我想要重定向到一个特定的链接,比如 http://abc.com/。这样做可以吗?
3 个回答
-3
import urllib
url = urllib.urlopen('www.google.com/testing') #a 404 address
if url.code == 404:
url = urllib.urlopen('www.google.com')
当创建一个网址对象时,.code这个实例会返回网页的代码。
3
在编程中,有时候我们会遇到一些问题,比如代码运行不正常或者出现错误。这种时候,我们需要去查找原因,通常可以通过查看错误信息来帮助我们理解问题所在。
错误信息就像是程序给我们的提示,它告诉我们哪里出了问题。比如,可能是某个变量没有定义,或者某个函数没有正确调用。理解这些错误信息非常重要,因为它们能帮助我们快速找到并解决问题。
此外,很多时候我们可以在网上找到其他人遇到类似问题的解决方案,比如在StackOverflow这样的论坛上。这里有很多开发者分享他们的经验和解决办法,这对我们学习编程非常有帮助。
总之,遇到问题时,不要慌张,仔细阅读错误信息,利用网络资源,逐步排查和解决问题,这样你会越来越熟练。
@app.error(404)
def error(err):
bottle.response.status = 303
bottle.response.header['Location'] = '/'
3
@error(404)
def error404(error):
from bottle import redirect
# maybe test the error to see where you want to go next?
redirect(new_url, 303) # HTTP 303 should be used in this case
编辑 我不太确定这个能不能做到,现在也没法测试,不过我稍后会试一下,如果你没先试的话,我会更新这个回答。