私はN2Cmsを使用しており、私はそれを持っているいくつかの問題を見ています。左にナビゲーションパネルがあり、ツリーを展開するときにajax経由で読み込みます。500内部サーバーエラーIIS7エンコードされたURL
ノードの子ノードを取得するコードは、いくつかのパラメータでashxファイルを呼び出します。 1つのパラメータはパスのためのもので、スラッシュを含みます。このため、コード化されています。
.../cms/Content/Navigation/LoadTree.ashx?target=preview&selected=%252fhome%252fhelp-and-advice%252f
私は私の開発サーバ(IIS 7.5を実行している)で、これには問題がなかったしているが、我々のテストサーバー(IIS7)に配備されたときのナビゲーションは動作しません。
これを調べると、上記のURLで500エラーが発生していることがわかりました。
私は
.../cms/Content/Navigation/LoadTree.ashx?target=preview&selected=/home/help-and-advice/
へのURLをデコードした場合、それは問題なく動作します。
残念ながら、これを生成するコードをn2cmsソースコードの一部として変更することはできません。正当な理由でコード化されていると仮定しています。
誰かが私のweb.configでエンコードされたパラメータを許可するか、iisサーバーで変更できるものを知っていますか?
編集: このリンクはセキュリティメッシュとしてこれを行うことを示唆しているようです。 http://msdn.microsoft.com/en-us/library/ee656542.aspx
提案された解決策は、4.0を.NETとweb.configファイルに
<configuration>
<uri>
<schemeSettings>
<add name="http" genericUriParserOptions="DontUnescapePathDotsAndSlashes"/>
</schemeSettings>
</uri>
</configuration>
を以下を追加するアップグレードすることです残念ながら、これは効果がないようです。
これはなぜ機能しませんか?
URLScanはiis addonのようです。私はそれがインストールされているとは思わない。私はプログラムやWindowsの機能を削除して追加することはできません。 – sianabanana
C:\ Windows \ System32 \ inetsrv \ urlscanまたはここでC:\ Windows \ SysWOW64 \ inetsrv \ urlscanを確認してください。場所は、64ビットを実行しているかどうかによって異なります。これらの場所のいずれかにurlscanが存在し、 "logs"サブディレクトリがある場合は、それを実行しています。 –
私が言ったように、それはインストールされていません。これらのフォルダは存在せず、マシン上のファイルやフォルダ内のurlscanへの参照もありません。 – sianabanana