简单的尾随斜杠URL重写

时间:2013-02-14 12:49:07

标签: iis-7 url-rewriting

我从未做过URL重写(重定向)。我有一个网站http://sub.sub.domain.ext/app/。 “app”表示“应用程序”,而不是虚拟目录。 当用户导航到http://sub.sub.domain.ext/app(没有斜线)时,我需要IIS 7将其重定向到带有斜杠的URL。

问题在于,当用户导航到应用程序时,我希望仅将应用于 。我不希望将尾部斜杠附加到每个文件名。

我尝试在IIS7管理器中修改预定义规则,但没有成功。我已经尝试完全匹配整个URL,约束条件,或者只是使用原始的预定义规则。但即使使用原始规则,它也会重写所有后续请求文件/目录/网址,但会将用户从http://sub.sub.domain.ext/app重定向到http://sub.sub.domain.ext/app/

1 个答案:

答案 0 :(得分:3)

您正在寻找的规则可能很简单:

<rule name="Add trailing slash" stopProcessing="true">
    <match url="^app$" negate="false" />
    <action type="Redirect" url="{R:0}/" />
</rule>

url="^app$"模式只匹配网址http://www.yourwebsite.com/app而没有其他内容 如果您需要将此行为限制为主机sub.sub.domain.ext,则可以添加条件:

<rule name="test" stopProcessing="true">
    <match url="^app$" negate="false" />
    <action type="Redirect" url="{R:0}/" />
    <conditions>
        <add input="{HTTP_HOST}" pattern="^sub.sub.domain.ext$" />
    </conditions>
</rule>