【发布时间】:2013-02-24 06:56:01
【问题描述】:
我在一个域上存在多年(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/中的新站点
【问题讨论】:
标签: .htaccess mod-rewrite rewrite