IIS 5からIIS 7に実行されているWebサーバーの移行を行っています。仮想ディレクトリの動作が2つで異なることに気づきました。 。
C:\ inetpub\SiteNameにサイトがあります。このサイトには、c:\ virtualdirs\bobを指す仮想ディレクトリ「bob」が含まれています。 bobフォルダー(script.asp)には、次のものだけを含むスクリプトがあります。
<!--#include virtual="../index.asp"-->
http://SiteName/bob/script.asp :にアクセスしてスクリプトを実行しようとすると、IIS5とIIS7の動作が異なることに気づきました。
IIS5はサイトの親パスを参照し、c:\ inetpub\SiteName\index.aspをインポートします。 IIS7は、仮想ディレクトリの親フォルダを参照し、c:\ virtualdirs\index.asp(存在しない)を探します。 Server.MapPathのResponse.Writeを実行すると、これが確認されます。
この点でIIS7をIIS5のように動作させる方法はありますか?残念ながら、index.aspとそのロジックをvirtualdirsフォルダーに移動することはできません。これは、仮想ディレクトリが多くのサイト(index.aspsが異なる)で共有されるためです。
ありがとう。
他のフォーラムで回答: http://forums.iis.net/p/1168652/1946977.aspx
IISバージョン間で機能が変更されたことをほぼ確認します。これを修正する唯一の方法は、コードへの参照を「..」から「/」(サイトルート)に変更することです。仮想ディレクトリ。
明らかに最適な解決策ではありませんが、今のところはそうしなければなりません。