私はCherryPy webappを持っています。典型的には、メインアプリケーションのような実装されている:Cherrypy URLが不明なアプリケーションのマウントパス
cherrypy.tree.mount(root,
'/',
root.conf
)
しかし、そのようなnginxのようなリバースプロキシの背後に動作させるために、ユーザが選択したどのような経路に、他の場所にマウントできるようにする必要があります。
マウントは、ユーザが選択した何もすることができmount = '/my_application'
cherrypy.tree.mount(root,
mount,
root.conf
)
。
問題は、リンクが壊れてしまうことです。
raise cherrypy.HTTPRedirect("/news")
もう機能しません。 address:port/my_application/newsにリダイレクトする必要があるときは、address:port/newsにリダイレクトされます。
私が通過し、アプリケーションのパスを付加URLごとに条件を作成することができます。
if mount != '/':
url = mount + '/news'
raise cherrypy.HTTPRedirect(url)
しかし、これを行うには良い方法がなければなりません。私はリクエストディスパッチングを見てきましたが、すぐにURLを書き直すことはできませんでした。
この状況を処理する最善の方法は何ですか?
ええ、私は変更する私のテンプレートとのjsスクリプトのすべてを通過する必要がないと期待していましたそれぞれのURLが、それは唯一の方法であるように見えます。 – user1220109
私は編集することはできませんが、ポインタのおかげです。とても有難い。 – user1220109
はい、私が知る限り、それが唯一の方法です。 – cyraxjoe