2012-02-15 7 views
3

何らかの理由でこれらの書き換えルールの周りに頭を浮かべているように見えず、皆さんが助けてくれることを願っていました。私が望むのは、リンク、img、スクリプト、および入力タグのパスを書き換えるアウトバウンドルールです。これにhttp://www.mysite.com/appname/css/file.cssIIS7 URL書き換えのアウトバウンドルール

:私はこれを変更したい

のでhttp://cdn.mysite.com/css/file.css

は、基本的に私は、ホスト名をスワップし、URLからアプリ名をドロップする必要があります。 * .aspxファイルの事前条件フィルタは既に設定されていますが、残りはギリシャ語のようです。明瞭

URLでAPPNAMEため

EDITは、上記のIISのアプリケーションです。どのようなappnameが使用されていても、それはプレースホルダーです。私たちの現在の設定では、50種類以上のアプリのいずれかになる可能性があります。 いつもがappnameになります。おそらくそれはルールをさらに簡単にするでしょう。

ホスト名(この場合はwww.mysite.com)は、サブドメインの点でも若干異なる場合があります。それはwww1.mysite.com、www2などかもしれません。また、もし私がSSLを維持する必要があることが分かっただけです。

だから、私は実際には、使用されたプロトコルを尊重しながら、URLを取得してappnameを除いて新しいドメインに追加するだけでよいと思います。

オリジナルURL:HTTP(S):// {ホスト}/{APPNAME}/{URL}

出力:HTTP(S)://cdn.mysite.com/ {URL}

答えて

5

私は、このルールがすべき、あなたのウェブサイトのドメインが常に同じであると仮定します。

<rule name="CdnRule" preCondition="OnlyAspx" > 
    <match filterByTags="Img, Input, Link, Script" pattern="^(.+)://.+?\.(.+?)/.+?/(.*)" /> 
    <action type="Rewrite" value="{R:1}://cdn.{R:2}/{R:3}" /> 
</rule> 

<preConditions> 
<preCondition name="OnlyAspx"> 
    <add input="{PATH_INFO}" pattern=".+\.aspx$" /> 
</preCondition> 
</preConditions> 

EDIT:明確質問

に応じて変更私はサブドメインを前提とは(WWW、www2、...)は常にありますそこでは無視されなければならないurl。

+0

これは自分の前提条件を調整するのに便利でした。私は{URL}に対して* .aspxのワイルドカードマッチを使用していました。 – IchibanChef

+0

私は質問へのあなたの編集を反映するために答えを変更しました。 – Tomek

+0

それは私が必要としていたものです。ありがとう! – IchibanChef