В настоящее время я придерживаюсь своих правил перезаписи, и мне понадобятся подсказки по поводу это.
Вот ситуация: У нас есть два веб-сайта, один - website.com, а другой - промежуточный.com (здесь приведены примеры c)
На сайте website.com для некоторых URL-адресов я хотел бы использовать правило перезаписи, чтобы перейти на промежуточный веб-сайт и отобразить результаты.
Вот правило в файле web.config:
<rule name="RewriteSearchQueries" patternSyntax="Wildcard" stopProcessing="true">
<match url="search?*" />
<action type="Rewrite" url="https://website-staging.com/{R:0}" logRewrittenUrl="true" />
Я провел тест по шаблону, все в порядке. URL-адрес, использованный для перезаписи, работает правильно, однако когда я нажимаю website-staging.com/ search? arg = 1 & blabla = 2, у меня появляется сообщение об ошибке 404:
404 - Файл или каталог не найдены. Ресурс, который вы ищете, мог быть удален, изменилось его имя или временно недоступен.
Я также попытался выполнить следующее действие:
<action type="Rewrite" url="https://website-staging.com/search?{R:1}" logRewrittenUrl="true" />
И это тоже не сработало. Есть подсказка?
РЕДАКТИРОВАТЬ: Маршрутизация запросов приложений установлена, прокси включен.
Итак ... После установки FRT по совету Лекса Ли я увидел, что совпадений нет, поэтому перезапись URL не производилась.
Я снова и снова тестировал шаблон, все было хорошо.
Наконец, я решил заменить подстановочный знак на регулярное выражение и .. Тадам! Это сработало. По причине, которую я не могу объяснить, шаблон подстановочных знаков не был обнаружен должным образом, несмотря на то, что тестировщик шаблонов был в порядке, в то время как использование регулярного выражения отлично помогло.
Итак, если вы столкнулись с подобной проблемой, полностью используйте регулярное выражение!