【发布时间】:2013-07-27 06:25:56
【问题描述】:
我在 IIS 7 服务器上有 umbraco 网站设置:WWW.SITE.COM
我想将网址 WWW.SITE.COM/SIGUNP 重写为 WWW.SIGNUP.SITE.COM
是否可以使用 urlrewritingnet 或者我应该使用 DNS 主机进行配置?
【问题讨论】:
标签: asp.net umbraco http-redirect urlrewriter.net
我在 IIS 7 服务器上有 umbraco 网站设置:WWW.SITE.COM
我想将网址 WWW.SITE.COM/SIGUNP 重写为 WWW.SIGNUP.SITE.COM
是否可以使用 urlrewritingnet 或者我应该使用 DNS 主机进行配置?
【问题讨论】:
标签: asp.net umbraco http-redirect urlrewriter.net
有几种方法可以做到这一点,而 Eric 的方法是一种完全有效的方法。您也可以按照您的建议使用 UrlRewriting.Net,但我认为 Eric 建议采用 <httpRedirect /> 方法,因为它可以在 web.config 中进行配置,因此也可以在 IIS7 中手动配置。
然而,这种方法的缺点是:
您应该考虑其他两种方法:
HttpModule 使用 CSV 文件,其中包含缓存的“发件人”和“收件人”网址列表;HttpModule 方法显然需要一点编码,但非常有益。您的 SEO 团队/客户可以提供需要重定向的 URL 列表,并且您的 HttpModule 可以缓存该列表(使用该文件作为依赖项)并根据匹配的 URL 执行重定向。对文件的任何更新都会自动清除缓存。
对于基本重定向,我喜欢在 Umbraco 中使用“重定向”文档类型的方法。此文档类型将有两个字段,一个“重定向类型”字段 (301/302) 和一个“重定向到”字段。在此文档类型的模板中,您将需要一个执行重定向到“重定向到”节点的小 cpde。使用此文档类型创建的页面上的任何点击都将自动重定向到目标页面。您还可以将此文档类型与“umbracoUrlAlias”字段结合使用。您可以向该字段添加多个路径,并以逗号 (see this article for an explaination) 分隔。通过这种方式,您可以捕获多个相似路径并重定向到单个路径。
这种方法的优点是它可以在 CMS 中进行管理,但缺点是重定向不像 CSV 文件那样集中管理,因此您需要注意它的实现方式。
【讨论】:
我会在 IIS 中使用 HTTP 重定向来实现这一点。我建议使用永久 (301) 作为响应状态,这也将强制大多数搜索机器人更新其索引。
将配置元素中的所有内容添加到您的 web.config 文件中
<?xml version="1.0"?>
<configuration>
<location path="signup">
<system.webServer>
<httpRedirect enabled="true" destination="http://www.signup.site.com" exactDestination="false" httpResponseStatus="Permanent" />
</system.webServer>
</location>
</configuration>
【讨论】: