我正在从纯HTML文件的URL架构迁移到动态内容管理系统的网站的系统管理员。
例如旧的URL就像www.example.com/books/somefolder/book31Chapter23.html,新的URL就像www.cms.example.com/x?book=31
该网站托管在两台服务器中,一台是旧的,而另一台是在主域www.example.com上提供静态旧URL,以及一个新的' CMS位于子域www.cms.example.com。
Web服务器是nginx,CMS是用yii(PHP)编写的,但对于这个问题,这在概念上并不重要。
有许多网址,只有部分内容已迁移到新的CMS,因此我们有三种情况:
用户请求尚未迁移的内容的旧网址:in 在这种情况下,Web服务器(nginx)提供来自“旧”的内容。 服务器
用户请求新网址(已迁移的内容):此服务已提供 直接由新服务器
用户请求已迁移内容的旧网址: 请求到达旧服务器。我们有一个映射列表 nginx从旧网址到新网址进行临时重定向,所以 流量将重定向到新服务器中的CMS。
到目前为止,这一直有效,随着新内容的迁移,重定向映射列表也会更新。
问题在于,我希望CMS的第二台服务器将内容作为主域example.com而不是子域cms.example.com,而且临时重定向似乎也会影响SEO谷歌等。
理想情况下,我希望在第三种情况下永久重定向到新的CMS URL架构而不使用子域,同时注意到当前CMS托管在不同的服务器中(如果需要,我可以将所有内容合并在一起)。同样对于第二种情况,用户将使用裸域而不是子域转到新URL。
如何在当前设置中实现此目的(使用nginx重定向,DNS或其他任何需要)?是否有更好的设置在两台服务器之间迁移网址?
谢谢!