Djangoでreverse後のURLにスクリプト名が入ってしまう

レンタルサーバー上にCGIとしてDjangoを動かそうとしていて、このチケットのdjango.cgiを配置し、.htaccessでmod_rewriteの設定を

このような感じにして一応動いてはいたのですが、テンプレートタグから{% url %}で

r’^hoge/$’

への逆引きをしたつもりのURLが、

/django.cgi/hoge/

のようにrewrite後のスクリプト名が付いたURLになってしまっていました。

ドキュメントにはDjangoはなるべく自動的にrewrite前のURLを探すと書いてあったんですが、それが上手くいっていないようで。
で調べた所、そういう時はsettings.pyでFORCE_SCRIPT_NAMEを設定すれば良いようです。

でとりあえず解決。
細かい原因はよくわかってません。

参考
Forcing the URL prefix to a particular value
URL のプレフィクス部分を特定の値にする

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする