перенаправление из приложения (на уровне корневого домена) в субприложение - PullRequest
0 голосов
/ 16 июня 2011

Мой хостинг поддерживает только конфигурацию IIS web.config. Я хочу перенаправить мой

http://domain -> http://domain/X

и вот моя попытка

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <httpRedirect enabled="true" destination="http://domain/X/" />
    </system.webServer>
</configuration>

это работает, но проблема в том, что это работает для всех сайтов, и когда я уже на http://domain/X/, он все еще работает, поэтому я получаю рекурсию http://domain/X/X/X/X/X/X/X и т.д. ...

Временное решение - поставить

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <httpRedirect enabled="false"  />
    </system.webServer>
</configuration>

в http://domain/X и http://domain/Y и т. Д. ... но когда я иду на http://domain/Y/Z, он в любом случае перенаправляет меня на http://domain/X/Z/ (так, черт возьми, я не не очень хочется положить это в любую папку)

Так что я думаю, что мне нужно исправить первое перенаправление (каким-то образом), чтобы оно работало только для http://domain/

спасибо.

1 Ответ

1 голос
/ 16 июня 2011

Вы можете попробовать установить атрибут childOnly - согласно документации , это будет перенаправлено, только если имя файла присутствует в URL.Таким образом, только URL формы http://domain/<file name> будут перенаправлены на http://domain/X/<file name>, и это должно решить вашу проблему.Для перенаправления http://domain/ вы можете использовать документ по умолчанию, перенаправляющий на http://domain/X.

. Вы также можете посмотреть модуль перезаписи URL - см. http://learn.iis.net/page.aspx/460/using-the-url-rewrite-module/ (но, конечно, он не будет выдавать HTTPперенаправляет, если это необходимо)

...