サイトをFreeBSD10+python3.3+Bottleで作り直すメモ(10)-ステータスコードとリダイレクト

サイトを作っていると、

  • 任意のステータスコードを出力したい(例えば「URLからコンテンツを動的に作成するが、URLの書式が不正の時はステータスコード404を出したい」)

  • サイトの構成を大きく変えたいが、旧URLからアクセスできるようリダイレクトを行いたい

といったことをやりたい場合がある。

Bottleでは、abort(ステータスコード, テキスト)redirect(リダイレクト先のURL, ステータスコード)という関数を使うことで上記のことを実現できるようになっている。具体的にはこんな感じ。

from bottle import route, run, abort, redirect

@route('/<filepath:path>')
def abort_and_redirect(filepath):
  if filepath=='404error':
    abort(404, 'Not Found')
  elif filepath=='old/contents':
    redirect('http://somewhere/new/contents', 301)

コメント(0)



Note

本サイトのハイパーリンクの一部は、オリジナルのサイトが閉鎖してしまったため"Internet archive Wayback Machine"へのリンクとなっています。そのようなリンクにはアイコン[archive]を付与しています。

本サイトはCookieを使用しています。本サイトにおけるCookieは以下の三種類のみであり、Cookieの内容に基づいてサイトの表示を変更する以外の用途には用いておりません。