301 重定向 ASP.NET IIS
Posted
技术标签:
【中文标题】301 重定向 ASP.NET IIS【英文标题】:301 redirect ASP.NET IIS 【发布时间】:2011-08-24 03:04:03 【问题描述】:我有一个网站,它有别名:
site1.com
site2.com
site3.com
但它们都是同一个站点。
我需要 asp.net 的规则,这将允许 site3.com 和 site2.com 以状态 301 重定向到 www.site1.com
【问题讨论】:
【参考方案1】:我建议使用 IIS 中的 URL 重写模块来重定向这些请求。像这样的东西可能会起作用(尽管这可能需要调整)...
<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 属性
【讨论】:
Xeka 需要 301 重定向(可能是出于 SEO 的原因),这不是 :) @rciq - 您愿意添加更多细节吗?我承认我忘了包括我刚刚添加的redirectType。当我使用它时,IIS 会向我发送 301。 另外,这被添加到 web.config 中,这可能使@Xeka 更容易在他的环境中实现。 你是对的!我只是建议 Xeka 尝试一下您的解决方案:)【参考方案2】:我认为更好的选择是在 IIS 中设置这些东西。在 IIS7 中,您可以为不需要的域创建站点(甚至是虚拟目录),然后在“HTTP 重定向”部分中,您可以设置目标和所需的 HTTP 状态代码。
如果由于某种原因您无法通过 IIS 执行此操作,请尝试在 SO 中搜索编码解决方案: https://***.com/search?q=asp.net+301+redirect
【讨论】:
我使用托管,但无法访问 IIS。我只能编辑 asp 脚本 :( 那你应该试试 FlyingDeveloper 的解决方案(他现在添加了重定向类型)。仅在万不得已时才寻求编码解决方案。以上是关于301 重定向 ASP.NET IIS的主要内容,如果未能解决你的问题,请参考以下文章