我有一个页面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错误
如何解决此问题?
答案 0 :(得分:0)
一些问题......
{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>