Personal tools
You are here: Home KtJ's Blog
« March 2017 »
Su Mo Tu We Th Fr Sa
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
 
Document Actions

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

by ktj posted at 2016-11-04 19:31 last modified 2016-11-04 19:31

サイトを作っていると、

  • 任意のステータスコードを出力したい(例えば「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)

Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: