url IIS 中的重定向不适用于不存在的页面
url redirection in IIS not working for non existing pages
我有一个页面 http://domain1.com/blog.aspx。
我已删除此页面并为该页面创建了一个具有新域的网站。
喜欢下面http://domain2.com/blog.aspx
然后我在 domain1.com web.config 中添加了一条规则,如下所示
<rewrite>
<rules>
<rule name="Redirect blog" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^domain1.com/blog.aspx$" />
</conditions>
<action type="Redirect" url="http://domain2.com/blog.aspx" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
但是我在访问 http://domain1.com/blogpage.aspx
时遇到 404 错误
我该如何解决这个问题?
几个问题...
{HTTP_HOST} = 主机名 domain1.com,因此它永远不会匹配您的模式
你也可以这样做 pattern="^domain1.com/blog.aspx$"
.
需要转义。
现在您还必须在 request_uri
上进行匹配才能捕获页面。下面应该工作。如果您要将 domain1.com/blogpage.aspx
重定向到 domain2.com/blog.aspx
<rule name="Redirect blog" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll" >
<add input="{HTTP_HOST}" pattern="^domain1\.com$" />
<add input="{REQUEST_URI}" pattern="blogpage\.aspx$" />
</conditions>
<action type="Redirect" url="http://domain2.com/blog.aspx" redirectType="Permanent" />
</rule>
</rules>
我有一个页面 http://domain1.com/blog.aspx。
我已删除此页面并为该页面创建了一个具有新域的网站。
喜欢下面http://domain2.com/blog.aspx
然后我在 domain1.com web.config 中添加了一条规则,如下所示
<rewrite>
<rules>
<rule name="Redirect blog" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_HOST}" pattern="^domain1.com/blog.aspx$" />
</conditions>
<action type="Redirect" url="http://domain2.com/blog.aspx" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
但是我在访问 http://domain1.com/blogpage.aspx
时遇到 404 错误我该如何解决这个问题?
几个问题...
{HTTP_HOST} = 主机名 domain1.com,因此它永远不会匹配您的模式
你也可以这样做 pattern="^domain1.com/blog.aspx$"
.
需要转义。
现在您还必须在 request_uri
上进行匹配才能捕获页面。下面应该工作。如果您要将 domain1.com/blogpage.aspx
重定向到 domain2.com/blog.aspx
<rule name="Redirect blog" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll" >
<add input="{HTTP_HOST}" pattern="^domain1\.com$" />
<add input="{REQUEST_URI}" pattern="blogpage\.aspx$" />
</conditions>
<action type="Redirect" url="http://domain2.com/blog.aspx" redirectType="Permanent" />
</rule>
</rules>