好吧 – 我想我无法将旧站点redirect到新的IP地址

这几乎是滑稽的,但我坚持在这一点上。 情况如下:

current host: no root access, can really only work in .htaccess current host: site to be moved to new host is on a shared IP address current host: site has .htaccess redirecting all non-www traffic to www. new host: root access, WHM, all the knobs/dials new host: mod_userdir is disabled 

好。 所以,在当前的主机上,我不能像这样添加.htaccessredirect:

 RewriteRule ^(.*)$ http://1.2.3.4/~accountname/$1 [R=301,L] 

因为mod_userdir在新主机上被禁用 – 我被告知启用它并不是很简单。 这样IP地址和帐户名称将不会解决。

很好 – 所以在新的主机让我们把网站在一个专用的IP地址。 不,不会,因为将所有stream量重写为“www”的.htaccess规则都不起作用。 意味着它会打破 – 你得到这个:

 www.1.2.3.4 -- server DNS address could not be found. 

我害怕关掉那个“www”。 重写规则是因为它在几年前就已经存在了,而且我不确定如果它不存在的话可能会被破坏。

所以在这一点上,我看不出移动这个网站,并有旧的网站redirect到新的网站。 我有TTL设置非常低,所以我将不得不指望在合理的时间内刷新全球DNScaching(我可以容忍24小时)。

我头疼。 我是否错过了任何东西,还是应该按照游戏计划去移动网站,甚至不尝试从旧的位置进行redirect?

我从你的其他问题复制这个答案,因为它实际上与你的新细节更相关。 在当前主机上完全可以使用.htaccess


我的例子使用www子域,但你可以根据需要进行调整。

在新的服务器/网站上,确保它可以在www.example.com和您select的第二个子域名上提供服务,这不会吓倒最终用户。 我通常会使用www2.example.com

当您准备切换时,请将DNS更改为指向新IP,然后在旧服务器上重新configuration该站点,以便为所有到www2.example.com请求执行HTTPredirect。 这不应该是一个永久(301)redirect,使用302或307。

结果是,任何获得新DNS项的客户端都会按照他们的要求进入新服务器。

任何拥有caching条目的客户都会碰到旧的服务器,然后被redirect到www2 ,这个www2总是指向新的IP,因此不能被caching,然后他们得到新的服务器。

有些事情可能会使这个复杂化。 对于SSL,证书需要包含临时主机名。 如果网站使用cookies,我不确定他们会继续工作(或者他们不会转移)。 你必须考虑不同的名字可能会影响事物的所有方式,但根据我的经验,不会有大量的人打到caching的人,只要你的TTL相当低,他们会很快下降。