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

Как скрыть подпапку при использовании Web.config для поддоменов?

У меня есть FTP-доступ к моему веб-сайту ASP.NET (IIS 7), и я маршрутизирую поддомены с помощью Web.config в корневой папке Интернета. Она выглядит так:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="route www and emtpy requests" stopProcessing="true">
                    <match url=".*" />
                    <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                        <add input="{HTTP_HOST}" pattern="^(www.)?example.com" />
                        <add input="{PATH_INFO}" pattern="^/www/" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="\www\{R:0}" />
                </rule>
                <rule name="route to blog" stopProcessing="true">
                    <match url=".*" />
                    <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                        <add input="{HTTP_HOST}" pattern="^blog.example.com$" />
                        <add input="{PATH_INFO}" pattern="^/blog/" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="\blog\{R:0}" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

Как видите, в моем корневом каталоге есть две папки: "www" и "блог". Когда я сейчас войду "blog.example.com" все работает нормально, но когда я нажимаю ссылку, я перехожу к "blog.example.com/blog"

Что я могу сделать, чтобы предотвратить такое поведение?

Это потому, что вы перенаправляете на blog.foo.com/blog, вам нужно перенаправить на полное доменное имя (вместо этого foo.con / blog.