2011-05-12 80 views
1

我有一个网站,有别名:301重定向ASP.NET IIS

site1.com

site2.com

site3.com

但他们都是一样的网站。

我需要asp.net的规则,这将允许site3.com & site2.com重定向到www.site1.com与状态301

回答

2

我建议使用URL重写模块在IIS中重定向这些请求。这样的事情可能工作(尽管这可能需要的调整)...

<rewrite> 
    <rules> 
    <rule name="CanonicalHostNameRule1" stopProcessing="true"> 
     <match url="site?.com" /> 
     <conditions> 
     <add input="{HTTP_HOST}" pattern="^www.site1.com$" negate="true" /> 
     </conditions> 
     <action type="Redirect" url="http://www.site1.com/" redirectType="Permanent"/> 
    </rule> 
    </rules> 
</rewrite> 

编辑 - 忘了包括redirectType属性

+1

Xeka需要301重定向(可能是SEO的原因),这是不是:) – rciq 2011-05-12 13:34:45

+0

@rciq - 会你在乎添加更多的细节?我承认我忘了包含我刚添加的redirectType。当我使用这个时,IIS向我发送一个301. – FlyingDeveloper 2011-05-12 13:44:13

+0

此外,它被添加到web.config中,这可以使@Xeka在他的环境中更容易实现。 – FlyingDeveloper 2011-05-12 13:49:25

0

我想一个更好的选择是在IIS中设置这些东西。在IIS7中,您可以为不需要的域创建站点(或甚至是虚拟目录),然后在“HTTP重定向”部分中设置目标和所需的HTTP状态代码。

如果由于某种原因,你无法通过IIS做这个尝试编码解决方案,因此搜索: https://stackoverflow.com/search?q=asp.net+301+redirect

+0

我使用托管,但没有访问IIS。我只能编辑asp脚本:( – 2011-05-12 13:44:06

+0

然后,您应该尝试FlyingDeveloper的解决方案(他现在添加了重定向类型)。仅作为最后手段寻求编码解决方案。 – rciq 2011-05-12 14:32:18