Перезапись URL-адреса IIS 10 дает ошибку 404

В настоящее время я придерживаюсь своих правил перезаписи, и мне понадобятся подсказки по поводу это.

Вот ситуация: У нас есть два веб-сайта, один - 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" />

И это тоже не сработало. Есть подсказка?

РЕДАКТИРОВАТЬ: Маршрутизация запросов приложений установлена, прокси включен.

1
задан 8 July 2021 в 19:11
1 ответ

Итак ... После установки FRT по совету Лекса Ли я увидел, что совпадений нет, поэтому перезапись URL не производилась.

Я снова и снова тестировал шаблон, все было хорошо.

Наконец, я решил заменить подстановочный знак на регулярное выражение и .. Тадам! Это сработало. По причине, которую я не могу объяснить, шаблон подстановочных знаков не был обнаружен должным образом, несмотря на то, что тестировщик шаблонов был в порядке, в то время как использование регулярного выражения отлично помогло.

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

0
ответ дан 28 July 2021 в 13:22

Теги

Похожие вопросы