Перенаправление на поддомен с использованием правил web.config - PullRequest
0 голосов
/ 30 апреля 2020

мы переносим наше веб-приложение, размещенное в каталоге «веб-приложение» внутри основного домена:

http://www.example.com/webapp/

В новый поддомен без папки «веб-приложение»:

http://subdomain.example.com/

Мне нужно перенаправить только подкаталог "webapp". Я не хочу перенаправлять другие URL-адреса, такие как http://www.example.com/, http://www.example.com/folder1, http://www.example.com/folder2, ....

Но мы уже отправили много писем клиентам со ссылкой внутри, например: <a href="http://www.example.com/webapp/login">LOGIN TO YOUR DASHBOARD</a> или другую ссылку, например <a href="http://www.example.com/webapp/data/download.php/id=xxx">DOWNLOAD YOUR DOC</a>

Теперь я пытаюсь выполнить переадресацию через web.config, но кажется, что ничего не работает.

Если я не пытаюсь перейти, например, к http://www.example.com/webapp/login меня не перенаправляют на http://subdomain.example.com/login/, как ожидалось.

Если я не пытаюсь перейти к, например, http://www.example.com/webapp/data/download.php/id=43, меня не перенаправляют на http://subdomain.example.com/data/download.php/id=43, как ожидалось.

Есть предложения?

<rule name="redirect-to-subdomain" stopProcessing="true">
    <match url="^webapp/$" />
    <conditions>
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
    </conditions>
    <action type="Redirect" url="http://subdomain.example.com/{R:0}" redirectType="Permanent" />
</rule>

1 Ответ

0 голосов
/ 01 мая 2020

Ваше правило не будет работать, за исключением http://www.example.com/webapp/.

Если вы хотите перенаправить ссылку, например, http://www.example.com/webapp/login. Пожалуйста, попробуйте это правило.

<rule name="redirect-to-subdomain" stopProcessing="true">
    <match url="^webapp/(.*)$" />
    <conditions>
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
    </conditions>
    <action type="Redirect" url="http://subdomain.example.com/{R:1}" redirectType="Temporary" />
</rule>
...