对于我们的一个项目,我们正在重新命名网站的名称,标志等.
因此,我们需要301 Moved Permenantly将所有用户从旧域重定向到新域。对于IIS7,这很简单。我们只是创建一个新的网站,将所有流量重定向到以主机为主导的域。敬新的那个。
但这就失去了它们原来的目标资源。
eg.
Old Domain: www.OldDomain.com
New Domain: www.NewDomain.com
User: www.OldDomain.com/user/PureKrome -> 301 --> www.newDomain.com 注意到它将如何进入新域,而不是/user/PureKrome?
我如何做到这一点,以便它进入新的域,并保留原始的资源请求?我猜IIS7的URL-ReWriter会有帮助吗?
还有,如果我想这么做.
CurrentDomain 1: Domain.com
CorrectDomain 1: www.Domain.com
CurrentDomain 2: AnotherDomain.com
CorrectDomain 2: www.AnotherDomain.com是否也有可能在同一个IIS网站上拥有这些内容?因此,任何到domain.com的URL都将301个转到www.domain.com
现在,我正在制作2个IIS网站,使用301硬编码(这仍然意味着我也丢失了原始资源请求)。
帮助!
发布于 2009-10-26 23:44:36
RuslanY的博客的一个伟大的职位描述了如何使用IIS重写器完成此操作。
我会引用他的秘诀3 :-
通常,您可能有一个IIS网站使用几个不同的主机名。最常见的例子是可以通过http://www.yoursitename.com和http://yoursitename.com访问站点。或者,您最近已经将您的域名从oldsitename.com更改为newsitename.com,并且希望您的访问者在对站点的链接进行书签时使用新的域名。一个非常简单的重定向规则会解决这个问题:查看明文复制到剪贴板打印?
<rule name="Canonical Host Name" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" negate="true" pattern="^ruslany\.net$" />
</conditions>
<action type="Redirect" url="http://ruslany.net/{R:1}"
redirectType="Permanent" />
</rule>要查看如何工作的示例,请尝试浏览到http://www.ruslany.net/2008/10/aspnet-postbacks-and-url-rewriting/。您将在浏览器的地址栏中看到“www”已从域名中删除。
发布于 2009-10-24 06:07:07
这是一个URL重写问题。
如果您在Apache上,可以在.htaccess文件中放置规则。IIS用户必须购买并安装(尽管有一个评估版本,允许您在每个IIS实例中运行一个站点) ISAPIRewrite ISAPI模块,该模块解释.htaccess文件。
发布于 2009-10-24 03:26:26
实际上,您需要一个http模块。您可以在http模块中读取URL并保留路径,只有当主机名与新域名不同或不以www开头时,才能更改主机名。
如果你想要更多的细节或者代码来做这件事,请告诉我。
https://serverfault.com/questions/75784
复制相似问题