サイトを移動していますが、一部のURLを除くすべてのURLで301リダイレクトを実行したいのですが、
このような:
oldsite.com/*
->www.newsite.com
oldsite.com/specific/article/to/redirect
->www.newsite.com/fancy/blah
したがって、特定のページにリダイレクトしたいことがいくつかありますが、残りはすべてrootに移動する必要があります。これは、.htaccessでどのように実行できますか?
サイトを移動していますが、一部のURLを除くすべてのURLで301リダイレクトを実行したいのですが、
このような:
oldsite.com/*
->www.newsite.com
oldsite.com/specific/article/to/redirect
->www.newsite.com/fancy/blah
したがって、特定のページにリダイレクトしたいことがいくつかありますが、残りはすべてrootに移動する必要があります。これは、.htaccessでどのように実行できますか?
免除する必要のあるURLが1つしかない場合は、RedirectMatchがあります。
RedirectMatch permanent !/specific/article/to/redirect http://www.newsite.com
複数のURLの場合は、mod_rewriteと、除外するURLをリストする外部rewritemapを使用する方がよいでしょう。
.htaccess
古いサイトのルートディレクトリにあるファイルに以下を追加します。
#place your specific redirects first
Redirect 301 /specific/article/to/redirect http://www.newsite.com/fancy/blah
RewriteEngine on
#then your general redirect all to new site last
RewriteRule ^ http://www.newsite.com%{REQUEST_URI} [L,R=301]