0

私はASP.NETMVCWebアプリケーションをIISでサブWebとして実行しています。そのパスがhttp://mysite.com/subwebのようなものだとしましょう。

CMSから取得したコンテンツを提供するビューがあります。CMSエディターは、相対画像パス<img src = "/ images /imga.png"/>を含むコンテンツを入力しました。

これは、サイトがルートWebサイトである本番サーバーでは正常に機能しますが、サイトがルートWebサイトの下の仮想ディレクトリであるステージングサーバーでは機能しません。

本番サーバーでは、パスは<img src = "/ images /imga.png"/>である必要があります

ステージングサーバー上の<imgsrc= "/ subweb / images /imga.png"/>。

<base>タグを使用してこの画像パスを解決することは可能ですか?


<head>
<base href="http://mysite.com/subweb/" />
</head>

<html>
  <body>
    <img src="/images/imga.png" />
  </body>
</html>


うまくいかないようです。誰かが理由を説明できますか、またはこれが実行可能なアプローチであるかどうかを説明できますか?コンテンツエディタにWebサイトの展開オプション(UATと本番環境の間で変更される)の知識を要求したくありません。

4

2 に答える 2

2

試す

   <img src="images/imga.png" />

相対URLにします。もちろん、それほど簡単ではありません。コンテンツエディタを変更する必要があります。しかし、私はそれが問題だと信じています。で始まるURL/は...(不思議)ドメインの最上位ディレクトリから解決されますか?

于 2010-06-16T15:54:43.703 に答える
1

ベースタグは相対URLにのみ影響します。画像タグを次のように変更してみてください。

<img runat="server" src="~/images/imga.png" />

これは、アプリのサブディレクトリでも機能します。.Netは、「〜/」をアプリケーションルートに解決します。

于 2010-06-16T15:56:01.817 に答える