Dev、Stage、および Prod の 3 つの異なる環境にデプロイされた Web サイトがあります。Stage および Prod の場合、サイトは、/SiteImages/banner.png などのファイルへのベース URL のみを使用して、画像へのローカル パスを解決できます。ただし、Dev サーバーでは、イメージを解決するためのイメージ パスの完全な URL ( http://server/folder/SiteImages/banner.pngなど) をハード コードする必要があります。Dev サーバーを他の 2 つと同じように動作させるために反転できる設定はありますか? Windows 2003 サーバーで IIS 6.0 を使用しています。
2 に答える
開発者のホームページへの URL はどのようなものですか? http://server/mydevsite/のようなものですか?もしそうなら、仮想ホストを設定する必要があるようです。
編集上記を明確にするために、prod サイトとステージ サイトは単にhttp://stagesite/およびhttp://prodsite / として参照できるとします。 /images/myimage.jpgなどのパスを使用すると、画像がフォルダはルートにあります。これら 2 つの場合、問題なく、画像は正しく表示されます。ただし、開発サーバーが上記の例のようであるとしましょう。画像が /images/myimage.jpg として参照されている場合、サーバーはhttp://server/mydevsite/images/myimage.jpgではなく、http://server/images/myimage.jpgを参照します。要求された画像を含む画像フォルダーがそのサーバーのルートに存在しない場合、エラーが発生します。
私の知る限り、Web サイトでコーディングできる URI は通常 3 種類あります。
絶対: http://yoursite.com/somehing.jpg
この URL には http:// が含まれており、リソースへのフル パスです。
ルート相対: /something/something.jpg
(ASP.net サーバー側のみ、「~/something/something.jpg」を使用します)
このパスは、サイトのルートに対する相対パスです。
ファイル相対: ../something/something.jpg
このパスは、URI を含むファイルの場所から始まります。この場合、1 つのディレクトリ (..) に戻ってから、something ディレクトリに戻り、something.jpg を探します。