Назад | Перейти на главную страницу

Цикл перезаписи URL-адресов IIS 7.5

У меня есть веб-приложение, которое находится в / subdir1 / subdir2 /. Я хотел бы упростить его для пользователей, добавив поддомен sub.domain.com, но он продолжает зацикливаться. Я пытался добавить дополнительные правила, чтобы предотвратить это, но без радости.

Итак, что происходит http://sub.domain.com/subdir1/subdir2/subdir1/subdir2/subdir1/subdir2/subdir1/subdir2/subdir1/subdir2/subdir1/subdir2/

Мое правило в web.config:

<rule name="subdomain" stopProcessing="true">
                <match url="^(?!sub/)(.*)" />
                <conditions>
                    <add input="{HTTP_HOST}" pattern="sub.domain.com/subdir1/subdir2/" negate="true" />
                    <add input="{HTTP_HOST}" pattern="sub.domain.com" />
                </conditions>
                <action type="Rewrite" url="subdir1/subdir2/" appendQueryString="true" />
            </rule>

Любые идеи?

Изменить: Итак, что я действительно пытаюсь сделать, так это упростить пользователям. Прямо сейчас они должны ввести www.domain.com/subdir1/subdir2/, чтобы получить доступ к странице входа для продукта. Что я хотел сделать, так это создать единственный поддомен, который будет перезаписан на указанную выше ссылку. Вместо того, чтобы вводить длинный URL-адрес, просто перейдите на sub.domain.com, и он будет перенаправлять или перезаписывать адрес www.domain.com/subdir1/subdir2/. Надеюсь, это проясняет мое желание.

Спасибо!

{HTTP_HOST} представляет только хост-часть URI:

http://[HTTP_HOST]/subdir/index.html.

Таким образом, ваше первое условие не имеет значения (оно никогда не будет оценивать как ложное).

Вы хотите {PATH_INFO}:

<add input="{PATH_INFO}" pattern="^/subdir1/subdir2" negate="true" />

Фактически говоря: «Если эта часть URL: http://sub.domain.com[PATH_INFO] начинается с "/ subdir1 / subdir2", не перезаписывайте

Если вы хотите /additional/path/to/content.html переписан на /subdir1/subdir2/additional/path/to/content.htmlвам понадобится обратная ссылка на матч также:

<action type="Rewrite" url="subdir1/subdir2/{R:0}" appendQueryString="true" />