2011-07-13 5 views
1

mod_wsgiを使用してpylonsアプリケーションをApache Webサーバーに統合しました。 WSGIの構成のようなある:pylons url_forは適切な内部静的を生成しません。 SCRIPT_NAMEが解決されたURLに挿入されていません

WSGIScriptAlias /mtrace /var/lib/lgmtrace/lgmtrace.wsgi 

しかし、http://pylonsbook.com/en/1.1/urls-routing-and-dispatch.html#internal-static-routesに記載されているように静的内部ルートのための適切なURLを生じないマコテンプレート内h.url_for使用します。私はBaseControllerのパイロンでSCRIPT_NAMEが/ mtraceに正しく設定されていることを確認しました。

だから、私はルートパッケージ内になurl_for関数のコードを調べることにしました。その結果、のenviron属性はの設定に設定されていませんでした。request_configから返された変数です。その結果、config.environ.get( 'SCRIPT_NAME')を呼び出すコードは実行されませんでした。

私はこの問題についてすでに誰かが助けてくれるのだろうかと疑問に思います。誰も同じ状況に直面していますか? URLを正しく解決できるように修正する方法。私はgoogleとstackoverflow上の私の問題のための結果を見つけることができなかったので、この状況につながる設定エラーのいくつかの並べ替えでなければならないと思います。 Fedora 14で提供されているmod_wsgi(3.2.2)、Apacheサーバー(2.2.17)、パイロン(1.0)、ルート(1.12)のすべてのデフォルトパッケージを使用しています。

ありがとうございます。

答えて

1

Route-1.12.3を試して、問題が解決したかどうかを誰かに教えてください。そのバージョンでは解決されませんでした。この問題を回避するには、リクエスト['SCRIPT_NAME']をmakoテンプレートのurlに手動で追加してください。誰かがこの質問に適切な答えをしているかどうかを知りたい。

+1

パイロンディスカッショングループの一人の仲間は、makoテンプレートにh.urlの代わりにurlを使用することが解決策だと私に指摘しました。彼が提案したソリューションは、代わりに使用する必要があります。 – wcang

+0

私にとってはうまくいくようです。 'h.url("/about ")'と 'h.url(" about ")'には違いがあることに注意してください。 – Felix

関連する問題