私は長年(10歳以上)存在するドメインにサイトを持っていて、現在、あるCMSから別のCMSにサイトを変更しています。これはコンテンツを移動するための長いプロセスであり、一部は移動せず、数年先まで共存する必要があります。
古いサイトをルート(www.example.com)からサブフォルダー(www.example.com/_old)に移動しました。古いサイトには、wwwを強制するための次の.htaccessがありました。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] from 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/の新しいサイトにあります