首先,我为任何拼写错误道歉。我是法国人。
我希望你的帮助可能有一些简单的解决方法,但我没有找到任何与我的案例有关的内容。
说明
我在Blogger平台上有一个网站,在Godaddy注册了一个域名大约两年。但是现在,由于这个平台的诸多限制,我在那里感到不快。我在本博客中发布了大约300篇帖子并编入索引。
好吧,我只是创建了一个静态网站(包含许多HTML文件和一些CSS / JS),并在Godaddy上购买了一个Linux主机(带有cPanel的Deluxe)。我在父域(指向Blogger)中创建了一个子域来测试这个新的静态站点。一切都很好,准备好了...
问题
正如我所说,我已将300个帖子编入索引。我通过友好的URL和其他自定义方式,按照我想要的方式为所有这些Blogger帖子创建了新的HTML文件。为什么? Blogger显示我的链接:“mywebsite.com/2010/06/post-name.html。”我对这个新网站的意图是做一些像“mywebsite.com/post-name.html”这样的事情。我已经在子域中设置了路径和更多内容。
我的问题是:如何在不丢失谷歌排名的情况下将流量从旧网站(Blogger)重定向到新网站,并在访问旧链接时“绕过”404 Not Found错误?
我在Google上进行了多次搜索,并且只在Blogger迁移到Wordpress中找到了如何执行此操作的教程。
我知道我不能在Blogger上删除这个网站,并且(或许)可以在.htaccess文件中完成一些事情来解决它。我现在必须“关闭”Blogger,并将301重定向重定向到新主机,以防止Google因重复内容而惩罚我,对吗?
谷歌搜索,我找到了这段代码: <b:if cond='data:blog.url == "http://example.com/2013/01/post-name.html"'>
<meta content='0;url=http://example/post-name.html' http-equiv='refresh'/>
</b:if>
但它是Blogger-to-Wordpress教程。
上面的代码可能适用于我的情况?或者我应该在.htaccess中通过邮寄创建重定向帖子吗?
我感谢任何建议和帮助。
答案 0 :(得分:1)
如果您的域名指向博客,直到现在,并且将来会指向您的新服务器,那么将来所有请求都将自动到达您的新服务器。因此,您所要做的就是将所有“旧”URL重写为新服务器上的新目标。
您在评论中提到的Redirect
指令,您应该能够实现这一目标。使用此技术,您需要为要重定向到新网址的旧网址使用Redirect
。
如果所有旧网址都遵循/yyyy/mm/post-name.html
的模式,并且所有新网址只有/post-name.html
且帖子名称仍然相同,那么您可能会想改用RewriteRule
:
RewriteEngine On
RewriteRule ^([0-9]{4})/([0-9]{2})/(.*)$ /$3 [R=301]
这将匹配所有以四位开头的传入请求(前一个斜杠已经在该点被剥离),然后是斜杠,后跟两位数和另一个斜线,然后只是“任何”之后那,并将其重定向到“任何东西”。它将自动以协议和服务器名称为前缀。并且[R=301]
标志将使其成为具有301状态代码的重定向。
这样,您可以只使用一条规则捕获所有旧的帖子网址,而不必为每个网站单独写一个Redirect
语句。
(如果您需要有关其工作原理的更多信息,请先咨询mod_rewite documentation。)
答案 1 :(得分:1)
如果您尝试将一个网址重定向到现有网页上的另一个网域
喜欢http://some-domain.com/2017/abc.html到http://another-domain.com/2017/abc.html
您可以使用以下javascript
<script>
var url = location.href;
var newurl = url.replace('some-domain.com','another-domain.com';);
location.href=newurl;
</script>
&#13;