#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;