Правила перезаписи URL в IIS7 - PullRequest
3 голосов
/ 16 февраля 2012

По какой-то причине я не могу разобраться с этими правилами переписывания, и я надеялся, что вы, ребята, сможете помочь.То, что я хочу, это исходящее правило, которое будет переписывать пути для ссылки, img, сценария и входных тегов.

Я хочу изменить это: http://www.mysite.com/appname/css/file.css

На это: http://cdn.mysite.com/css/file.css

Итак, в основном мне нужно поменять имя хоста и удалить имя приложения из URL.У меня уже есть фильтры предварительных условий для файлов * .aspx, но остальные мне кажутся греческими.

РЕДАКТИРОВАТЬ для ясности

Имя приложения в приведенном выше URL-адресе является приложением в IIS.Это заполнитель для любого используемого имени приложения.Это может быть любое из более чем 50 различных приложений с нашей текущей настройкой. ВСЕГДА будет именем приложения.Возможно, это сделает правило еще проще.

Имя хоста, в данном случае www.mysite.com, также может незначительно отличаться в зависимости от субдомена.Это может быть www1.mysite.com, www2 и т. Д. Кроме того, я только что понял, что мне нужно поддерживать SSL, если он есть.

Итак, я думаю, что когда дело доходит до этого, мне действительно нужно простоURL минус имя приложения и добавьте его в новый домен, соблюдая протокол, который использовался.

Исходный URL: http (s): // {host} / {appname} / {URL}

Вывод: http (s): //cdn.mysite.com/ {URL}

1 Ответ

5 голосов
/ 16 февраля 2012

Я предполагаю, что домен вашего сайта всегда один и тот же, тогда это правило должно соответствовать:

<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>

РЕДАКТИРОВАТЬ: изменено в соответствии с уточненным вопросом

Я предполагаю субдомен (www, www2,...) всегда там, и его следует игнорировать в целевом URL.

...