2016-11-04 56 views
0

我有一个页面http://domain1.com/blog.aspxIIS中的URL重定向不适用于非现有页面

本页我已经删除并创建了一个网站,仅为此页面提供了一个新域。

像下面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> 

,但我得到404错误,而来访的http://domain1.com/blogpage.aspx

我怎样才能解决这个问题问题?

+0

输入模式对主机名之后的URL部分匹配,所以从中取出'domain1.com /'。 –

回答

0

的几个问题...

{HTTP_HOST} =主机名是domain1.com,所以它永远不会匹配你的格局

你也可以做到这一点pattern="^domain1.com/blog.aspx$".需要进行转义。

现在,您还必须匹配request_uri来捕获页面。以下应该工作。提供您重新导向至domain1.com/blogpage.aspxdomain2.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>