как перенаправить на конкретный URL на 404 - PullRequest
2 голосов
/ 26 ноября 2010
@error(404)
def error404(error):
    return 'Nothing here, sorry'

Это способ ответа 404 в bottle framework. Но на 404 я хочу перенаправить на определенный URL сказать http://abc.com/. Возможно ли это?

Ответы [ 3 ]

4 голосов
/ 16 января 2011
@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

РЕДАКТИРОВАТЬ Я не уверен на 100%, что это можно сделать, и я не могу проверить это прямо сейчас, но я протестирую это позже и обновлю ответ, если вы не победите меня.

2 голосов
/ 21 июня 2011
    @app.error(404)
    def error(err):
        bottle.response.status = 303 
        bottle.response.header['Location'] = '/' 
0 голосов
/ 26 ноября 2010
import urllib
url = urllib.urlopen('www.google.com/testing') #a 404 address
if url.code == 404:
    url = urllib.urlopen('www.google.com')

Когда создается urlobject, экземпляр .code возвращает код страницы,

...