Правило перезаписи URL для IIS, чтобы заменить путь к папке на каждой странице

У нас более 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">

Ответы на вопрос(3)

Вы можете попробовать это


    
    

Он будет перенаправлятьwhatever/assets/common/image1.jpg вwhatever/common/image1.jpg

Обновить:


    
    

 Satpal17 февр. 2016 г., 11:27
@SnehaJavalkar, зависит от того, на каком уровне вы хотите применить правило. Вы также можете определить его на корневом уровне
 patel.milanb26 июн. 2013 г., 10:56
я бы хотел перенаправить наstatic.mysite.com/common/image1.jpg заменивmysite.com/assets
 Satpal26 июн. 2013 г., 11:05
@ patel.milanb извините за вопрос, но приведите пример для простоты понимания
 patel.milanb26 июн. 2013 г., 11:18
смотрите мои правки, пожалуйста ..
 Ganesh S17 февр. 2016 г., 11:21
Я использую Godaddy для хостинга. Так я должен бросить вышеупомянутое переписывание в отдельном виртуальном каталоге / папке веб-сайта или в корне?
Решение Вопроса

Вам необходимо создать исходящее правило в IIS. Правило потребует следующего:

Предварительное условие должно проверять только html-файлы (я использовал IsHTML по умолчанию)В "Соответствие содержания с " выберите элементы, в которых вы хотите проверить ссылкиШаблон^(.*)/assets/(.*)Свойства действияhttp://static.mysite.com/{Р: 2}. R: 2 ссылается на second () в приведенном выше регулярном выражении. Вы можете проверить, что вам нужно после нажатия "Тестовый образец » кнопка.

Ниже простое правило, которое встречается выше:

 Piotr Stapp07 мар. 2017 г., 13:12
@stom все вышеуказанные изменения видны в web.config, так что вы можете скопировать и вставить их
 stom06 мар. 2017 г., 17:01
Как настроить это используяweb.ConfigЯ хочу всеImages папка,css а такжеjs  внутри папки Content, чтобы указать на Azure CDN?

ммм, как вы можете сделать это

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

Схема - это ваша веб-схема http или https и т. Д. Authority - это имя вашего веб-домена с портом, если он есть. Тогда здесь идет ваш URL изображения полностью.

Я использовал этот URL-адрес логотипа для службы отчетов ssrs и получил нормально. Надеюсь, он будет работать для вас.

Комментарии и вопросы приветствуются. Спасибо.

Ваш ответ на вопрос