10

私のウェブサイト プロジェクトには 300 ページ以上あります。時間の経過とともに、安全な新しいサーバーを作成しました。このサーバーは、ウェブサイトのすべての画像に特別に使用されます。

したがって、シナリオは次のとおりです。

  • 画像の現在の実装 (aspx、css 内)

    http://www.mysite.com/assets/common/image1.jpg
    
  • 時々ウェブページとCSSでこのように指定されています

    ~/assets/common/image1.jpg        
    
  • このようなものを使用したいと思います。

    http://www.static.mysite.com/common/image1.jpg
    
  • 安全なページの場合

    https://www.static.mysite.com/common/image1.jpg
    

ご覧のとおり、すべての画像が~/assetsフォルダーから取得されていますが、次のように置き換えるルールを作成したいと思い~/assetsますhttp://static.mysite.com

書き換えルールを使用してIISでこれを達成するにはどうすればよいですか。

例:

ASPX

 <img src="/assets/common/image1.jpg" id="ImageId1" alt="Image" width="100" height="100" />

<img src="http://mysite.com/assets/common/image2.jpg" id="ImageId2" alt="Image" width="100" height="100" />

上記のコードが見つかった場合、IIS ルールを使用したい場合は、 http://static.mysite.com/common/image1.jpgに置き換えます。

 <img src="http://static.mysite.com/common/image1.jpg" id="ImageId1" alt="Image" width="100" height="100" />


<img src="http://static.mysite.com/common/image2.jpg" id="ImageId2" alt="Image" width="100" height="100" />
4

3 に答える 3

5

これを試すことができます

<rule name="assets redirection" stopProcessing="false">
    <match url="^(.*)/(assets)/(.*)" ignoreCase="false" />
    <action type="Redirect" url="{R:1}/{R:3}" />
</rule>

にリダイレクトさwhatever/assets/common/image1.jpgれますwhatever/common/image1.jpg

アップデート:

<rule name="assets redirection" stopProcessing="false">
    <match url="^(.*)/(assets)/(.*)" ignoreCase="false" />
    <action type="Redirect" url="static.mysite.com/{R:3}" />
</rule>
于 2013-06-26T08:51:54.117 に答える
2

うーん、あなたはこのようにすることができます

string imageUrl= Request.Url.Scheme + "://" + Request.Url.Authority + "/Image/logo/Logo.png";

スキームは、Web スキーム http または https などです。オーソリティは、Web ドメイン名とポート (存在する場合) です。次に、ここに画像のURLが完全に表示されます。

このロゴ URL を ssrs レポート サービスに使用しましたが、うまくいきました。うまくいくことを願っています。

コメントとクエリは大歓迎です。ありがとうございました。

于 2013-06-27T11:30:12.787 に答える