私はaspページとasp.netページの両方を一緒に使用しています。ローカルのiis(v5.1)でアプリケーションをホストしたかったのですが、後でiisexpressが私のニーズに合っていることを学びました。しかし、iis5.1とiisexpressのどちらを使用するかに関係なく、問題があるようです。
私が使用しているaspページは、別の仮想ディレクトリにある静的リソース(css、javascriptなど)を参照しています。たとえば、cssファイルのインクルードは次のようになります。
<link rel="stylesheet" href="/common/include/style/css.css"/>
そのようなものがテスト環境から実行されることになっている場合、上記のURLは次のように解決されます。
http://testing/common/include/style/css.css
これは、私のメインアプリケーションが存在する場所とは対照的です。これは次のようになります。
http://testing/myapp/default.aspx
ここで、たとえばポート8082でiisexpressを実行し、次のようなインバウンド要求がある場合:
http://localhost:8082/common/inlcude/style/css.css
404エラーが発生します。issまたはiisexpressにそのようなURL(で始まる/common/...
)を解決するように指示することは可能ですか?http://testing/common/...
更新(2011年5月31日、午後7時4分IST):
URL書き換えとは何かについて調査を行ってきましたが、例からいくつかのことを理解するようになりました。私が欲しいのはURLの書き直しそのものかどうかはわかりません。再びiisexpressの例えをとると、次のようなインバウンド要求uriがあることを私は知っています。
http://localhost:8082/common/inlcude/style/css.css
しかし、私はこれが実際に次のuriによって提供されることを望んでいます:
http://testing/common/include/style/css.css
以前のURIは、iisexpressを使用して仮想化したフォルダーには存在しません。
ここでURLを書き直す必要がありますか?
さらに、ASPには、次のような行が含まれています。
<!-- #include virtual="/common/include/classes/utils.asp" -->
これらのことでさえ、対応する対応するものに解決されることになっていますhttp://testing/...
。
ps:私はこれをすべてやっていますiis 5.1