1

我已将站点的文件结构更改为少一层目录级别。

因此,我希望用户点击:

http://example.com/directory/theRest/of/the/path

被重定向到:

http://example.com/theRest/of/the/path

看起来很简单的 web.config,对吧?

如何解析路径以简单地删除第一个目录并保持其余部分不变?

我想这个 web.config 将存在于“/directory”中,但在根目录中可能会更好,这将匹配 URL 中的“/directory”模式。

以下是我到目前为止所拥有的(这可能是错误的)。任何帮助是极大的赞赏!

<rule name="Redirect to main site" stopProcessing="true">
    <match url="^(.*)$" ignoreCase="true" />
    <conditions logicalGrouping="MatchAll">
        <add input="{REQUEST_FILENAME}" matchType="IsFile" />
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" />
    </conditions>
    <action type="Redirect" url="http://example.com/ ????" />
</rule>
4

1 回答 1

2

您的问题的简短答案是以下代码片段:

<rule name="Redirect to main site" stopProcessing="true">
    <match url="^(directory\/)(.*)$" />
    <action type="Redirect" url="/{R:2}" />
</rule>

我已将 URL 路径分为两部分(按括号分组)。这允许我们directory从 URL 中提取。{R:2}指,theRest/of/the/path{R:1}指的是 URL 路径的第一部分 - 换句话说,就是directory/.

于 2013-09-23T16:39:49.857 回答