Недавно я изменил дизайн нашего веб-сайта и переместил его на новый домен. Мне нужно сделать несколько перенаправлений, и у меня проблемы с его правильной работой.
У меня более 200 страниц, которые мне нужно перенаправить, и я бы предпочел сделать это в одном правиле, а не в 200.
Вот пример того, что мне нужно перенаправить:
www.OldSite.net/store/index.php/store_location
перенаправлен на:
www.NewSite.com/store/page.aspx?code=store
Выделенная жирным шрифтом часть старого .net url - это то, что я пытаюсь запросить и использовать в новом .com url. Мне сложно понять, как использовать подстановочные знаки, {R:x}s и {C:x}s в файле web.config.
Мне удалось заставить работать одно перенаправление, используя правило с:
conditions logicalGrouping = "MatchAny" trackAllCaptures = "false"
add input = "{HTTP_HOST}{REQUEST_URI}" pattern = "www.OldSite.net/store/index.php/store_location" /
/conditions
action type = "Redirect" url = "https://www.NewSite.com/store/page.aspx?code=store" redirectType = "Permanent"/*
Но я надеялся, что есть более простой способ сделать все с помощью одного правила вместо 200+.






Через кучу проб и ошибок (в основном ошибка: D) я наконец смог получить одно правило, которое будет выполнять все перенаправления за меня. Если это кому-то поможет, вот правило, которое я использовал:
rule name = "redirect rule" stopProcessing = "true"
match url = "(.)/(.)_" /
conditions logicalGrouping = "MatchAny" >trackAllCaptures = "false"
add input = "{HTTP_HOST}{REQUEST_URI}" pattern = "www.OldSite.net/store/index.php/" /
/conditions
action type = "Redirect" url = "https://www.NewSite.com/store/page.aspx?code = {R:2}" redirectType = "Permanent" /
/rule