当使用子域的 Web.config 时如何隐藏子文件夹?

当使用子域的 Web.config 时如何隐藏子文件夹?

我可以通过 FTP 访问我的 ASP.NET Websapce (IIS 7),并使用 Web 根文件夹中的 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>

如您所见,我的根目录中有两个文件夹:“万维网”“博客”.当我现在进入“blog.example.com”一切都运行正常,但当我点击链接时,我会转到“blog.example.com/blog”

我该怎么做才能阻止这种行为?

答案1

这是因为您重定向到 blog.foo.com/blog,所以您需要重定向到 FQDN。(而是 foo.con/blog。)

相关内容