我在一个存在多年(10 年以上)的域上有一个站点,现在正在将该站点从一个 CMS 更改为另一个。这是一个移动内容的漫长过程,其中一些内容不会移动,并且应该在未来几年内共存。
我已经将旧站点从根目录 (www.example.com) 移动到子文件夹 (www.example.com/_old)。旧站点具有以下 .htaccess 来强制 www。自 2007 年初以来在我的域上。我已在 (www.example.com/_old/) 文件夹中的 .htaccess 上删除了此内容。
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
现在我在另一个子目录(www.example.com/dp/)中声明了新闻站点,以保持根目录为空,仅使用 .htaccess 并重写,但我真正想要的是:
- 我想访问没有 www (example.com) 的域根目录上的新站点
- 我希望旧网站仍然作为“世界”中所有旧链接的主要登录页面 - 主要是 Google(www.example.com/_old/[whatever] 来自 www.example.com/[whatever]
- 我想确保当我将页面移动到新站点(www.example.com/_old/oldpage.html 到 example.com/newpage.html)时,我可以将该 URL 专门重定向到新站点以避免重复内容.
我在这里:
RewriteCond %{HTTP_HOST} www.example.com
RewriteRule ^(.*)$ /_old/$1 [L,R=301]
RewriteCond %{HTTP_HOST} example.com
RewriteCond %{REQUEST_URI} /dp/
RewriteRule ^(.*)$ http://example.com/$1 [L,R=307]
RewriteCond %{HTTP_HOST} example.com
RewriteRule ^(.*)$ http://www.example.com/_old/$1 [L,R=301]
这仍然是子文件夹 /dp/ 中的新站点