重定向url并重写它

时间:2016-02-10 04:10:38

标签: asp.net iis url-rewriting

我目前正在努力使用iis进行网址重定向。

我需要完成以下任务:

  • 将www.site.de重定向至www.site.de/subdir
  • 在浏览器中显示www.site.de(重写?)

我设法做了第一件事,但不能做第二件事。 我尝试了几种方法,但无法做到。 :/

第一点代码:

<rules>
  <rule name="in a subfolder" enabled="true" stopProcessing="true">
    <match url="(.*)" />
    <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
    </conditions>
    <action type="Redirect" url="http://www.domain.de/subdir" />
  </rule>
</rules>

那么无论如何都要删除url中的子目录?

背景是: 我的网站位于wwwroot的子目录中,但我不希望在公共网址中显示此信息,因此我需要将其重定向到正确的子目录,但是传出的网址必须省略子目录。

1 个答案:

答案 0 :(得分:0)

尝试:

<rule name="in a subfolder" enabled="true" stopProcessing="true">
  <match url="(.*)" />
  <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
  </conditions>
  <action type="Rewrite" url="/subdir/{R:0}" />
</rule>

我已将操作更改为Rewrite,并将{R:0}的匹配标记添加到输出中,以将它们发送到subdir内正则表达式中的匹配网址。

E.g。给出:

http://www.domain.de/default.htm

这将呈现:

http://www.domain.de/subdir/default.htm

但仍在浏览器中显示http://www.domain.de/default.htm