Синтаксис в IIS для использования перезаписи поддомена в качестве пути {HTTP_HOST}

#redirect #iis #syntax #url-rewriting

Вопрос:

Предположим , у меня есть сайт: https://sub.domain.example , каков правильный синтаксис, чтобы это стало https://domain.example/sub

Необходимо, независимо от суб-и домена верхнего уровня (например,. com, .net,. org), перенаправить пользователя на https://domain.example/sub Вот что я пробовал, но не пошел—

 lt;rulesgt;  lt;rule name="SubDomain to Subdirectory"gt;  lt;match url=".*" /gt;  lt;conditionsgt;  lt;add input="{HTTP_HOST}" pattern="^(w ).(.*)$" /gt;  lt;/conditionsgt;  lt;action type="Rewrite" url="https://domain.example/{C:1}" /gt;  lt;/rulegt; lt;/rulesgt;  

Комментарии:

1. HTTP_HOST-это не домен, он включает http:// в себя порт и. Поэтому попробуйте использовать ИМЯ СЕРВЕРА.

Ответ №1:

Вы можете попробовать следующее правило, чтобы выполнить свои требования.:

 lt;rule name="test" stopProcessing="true"gt;  lt;match url="(.*)" /gt;  lt;conditionsgt;  lt;add input="{HTTPS}" pattern="on" /gt;  lt;add input="{HTTP_HOST}" pattern="([_0-9a-z-] ).(.*)" /gt;  lt;/conditionsgt;  lt;action type="Redirect" url="https://domain.example/{C:1}" /gt;  lt;/rulegt;