使用IIS URL重写重定向问题

时间:2016-02-24 09:16:09

标签: asp.net wordpress iis url-rewriting

我有一个Asp.Net网站,该网站的子目录中也有一个WordPress博客。我在尝试创建的重定向规则之一时遇到了问题。

我在web.config中有这个规则:

    <rule name="Remove trailing slash">
      <match url="^(.*(?!/blog/).*)$" />
      <conditions>
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
      </conditions>
      <action type="Redirect" redirectType="Permanent" url="{R:1}" />
    </rule>

它尝试做的是,从网址中没有博客目录的每个页面中删除尾部斜杠。

适用于大多数部分。

网站上的任何网页都有效:

http://www.mysite/terms

博客主页有效:

http://www.mysite/blog

什么不起作用:

http://www.mysite/blog/my-latest-post

由于某种原因,页面没有正确重定向(或绕圆圈)。

有关如何纠正此问题的任何想法?

1 个答案:

答案 0 :(得分:0)

我会尝试像

这样的东西
<rule name="Remove trailing slash">
  <match url="^(.*)/$" />
  <conditions>
    <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
    <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
    <add input="{HTTP_HOST}" pattern"^.*/blog/.*$" negate="true" />
  </conditions>
  <action type="Redirect" redirectType="Permanent" url="{R:1}" />
</rule>