サイトをFreeBSD10+python3.3+Bottleで作り直すメモ(10)-ステータスコードとリダイレクト
- 公開日: 2016/11/04(金) 19:31[JST]
サイトを作っていると、
任意のステータスコードを出力したい(例えば「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)