2013-07-26 80 views
1

我有一个IIS 7的服务器上一把umbraco网站设置:WWW.SITE.COMurlrewritingnet - 重写URL与子域

我想重写URL WWW.SITE.COM/SIGUNPWWW。 SIGNUP.SITE.COM

有可能通过使用urlrewritingnet或者我应该使用DNS主机配置此?

回答

0

我会在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> 
+0

我使用urlrewriting.net 当我添加这个,我得到了错误500 – vantian

+0

500什么错误? –

0

有几种方法可以做到这一点,Eric的方法是ap非常有效的一个。您也可以按照您的建议使用UrlRewriting.Net,但是我认为Eric建议使用<httpRedirect />方法,因为它可以在web.config中配置,因此也可以在IIS7中手动配置。然而

这种方法的缺点是:

  • 它需要开发人员更新web.config文件;或
  • 有人访问IIS来更改配置
  • 它需要重新启动应用程序拿起重定向规则

还有其他两种方法,你应该考虑:

  • 一个HttpModule它使用包含'from'和'to'URL的缓存列表的CSV文件;
  • Umbraco管理的文档类型,可以处理特定的路径重定向。

HttpModule方法显然需要一点编码,但是非常有价值。您的SEO团队/客户可以提供需要重定向的URL列表,您的HttpModule可以缓存列表(使用该文件作为依赖项),并根据匹配的URL执行重定向。对文件的任何更新都会自动清除缓存。

对于基本的重定向,我喜欢在Umbraco中使用“重定向”文档类型的方法。这种文档类型将有两个字段,“重定向类型”字段(301/302)和“重定向到”字段。在这种文档类型的模板中,您需要一个cpde来执行重定向到“重定向到”节点。使用此文档类型创建的页面上的任何点击都会自动重定向到目标页面。您也可以将此文档类型与“umbracoUrlAlias”字段结合使用。您可以添加多个用逗号分隔的字段(see this article for an explaination)。这样你就可以捕获多个simliar路径并重定向到单个路径。

这种方法的优点是,它是在CMS管理的,但缺点是重定向不集中管理,就像一个CSV文件,所以你需要在它是如何实现小心。