Рейтинг:1

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

флаг co
SBO

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

Вот ситуация: У нас есть два веб-сайта, один — веб-сайт.com, другой — веб-сайт-staging.com (здесь приведены только примеры).

На веб-сайте.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-адрес, используемый для перезаписи, работает правильно, однако, когда я нажимаю на веб-сайт-staging.com/search?arg=1&blabla=2, у меня появляется сообщение об ошибке 404:

404 - файл или каталог не найден. Ресурс, который вы ищете, мог быть удален, его имя было изменено или он временно недоступен.

Я также попытался выполнить следующее действие:

<action type="Rewrite" url="https://website-staging.com/search?{R:1}" logRewrittenUrl="true" />

И это тоже не сработало. Любая подсказка?

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

Lex Li avatar
флаг vn
С включенным FRT https://docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/using-failed-request-tracing-to-trace-rewrite-rules вы сможете помочь себе . Подсказки: запросы не обрабатываются в теге `match`, поэтому ваш шаблон не будет работать. Вместо этого вы должны использовать условие.Используйте поисковую систему, чтобы найти примеры строк запроса.
SBO avatar
флаг co
SBO
Спасибо, FRT действительно помог, опубликую ответ :)
Рейтинг:0
флаг co
SBO

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

Я снова и снова проверял шаблон, все было в порядке.

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

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

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.