IIS URL将子文件夹重写为其他文件夹名称

IIS URL将子文件夹重写为其他文件夹名称,iis,url-rewriting,Iis,Url Rewriting,我有一个问题,如何通过创建URL重写规则来实现以下结果。在wwwroot上,我有一个文件夹wordpress/demo,可以在www.example.com/wordpress/demo上访问。 但是,我想使用URL重写规则在www.example.com/example下访问此页面 我已经搜索了很多,但不幸的是,我还没有找到解决方案。你有什么想法吗?因此,如果你还没有,请安装URL重写IIS模块: 安装后,打开web.config文件并在内粘贴此代码: <rewrite

我有一个问题,如何通过创建URL重写规则来实现以下结果。在wwwroot上,我有一个文件夹wordpress/demo,可以在www.example.com/wordpress/demo上访问。 但是,我想使用URL重写规则在www.example.com/example下访问此页面


我已经搜索了很多,但不幸的是,我还没有找到解决方案。你有什么想法吗?

因此,如果你还没有,请安装URL重写IIS模块:

安装后,打开web.config文件并在
内粘贴此代码:

        <rewrite>
            <rules>
                <rule name="ExampleToDemo">
                    <match url="^(.*)example" />
                    <action type="Rewrite" url="wordpress/demo" />
                </rule>
            </rules>
        </rewrite>


我不确定你的结构,但这个应该行得通。您还可以使用IIS Url重写模块中的“测试模式”功能对其进行测试。

有关将api参数作为路由变量传递时更复杂的情况: 如果您正在使用IIS管理面板选择您的域,请单击模块“URL重写”

添加规则->空白规则

输入此规则的名称

选择附加查询字符串

结果:example.com/directoryfrom/{R:1}/{R:2}->example.com/newsubdir/{R:1}/{R:2}


您可能会猜测r1和r2,这些是您可能传递的子文件夹,它们将自动转换为变量。

谢谢您的回答。这对我也有好处。我最终用创建了一个虚拟文件夹,并插入了虚拟文件夹的物理路径。如果我想从example.com/folder-name重定向到example.com/blog/folder-name,上述场景可能会失败。因为它是唯一可以存在于网站中多个位置的匹配文件夹名称
Pattern: ^directoryfrom/([_0-9a-z-]+)/([_0-9a-z-]+)

Rewrite URL: newsubdir/{R:1}/{R:2}