ASPX から django に変換中のサイトを再設計中です。次のように古い URL をリダイレクトしたいと考えています。
/detail.aspx?ID=123
...に...
/記事/123
問題は URL パターン マッチングにあります。次のように古い URL のパターンを一致させたいと思います。
(r'^detail.aspx?ID=(?P\d+)$', 'mygreatview'),
...そしてそこから、ビューで 301 リダイレクトを行います。
def mygreatview(request, url_id):
article = get_object_or_404(Article, url_id=url_id)
url = '/articles/' + article.url_id
return HttpResponsePermanentRedirect(url)
問題は、Django がスラッシュを追加しているため、古い URL が次のように変換されることです。
/detail.aspx/?ID=123
...urls.py によって解釈される前に。
APPEND_SLASH = False を設定しようとしましたが、他の URL で他の問題 (ここで風船を絞る) が発生するようです。
私は何が欠けていますか?このシナリオを処理するには、Apache と mod_rewrite を使用する必要がありますか?
前もって感謝します。