旧固定ページを新固定ページにリダイレクトしたいです。
-
ワードプレスで作成したウェブページのURLの変更を行いました。
トップページのリダイレクトはできたのですが、
旧固定ページに直接アクセスがあった場合に、新固定ページにリダイレクトできません。
旧固定ページを新固定ページにリダイレクトしたいです。具体的には、固定ページの
http://old.com/profile
のページを
http://new.com/profile
にリダイレクトさせたいのです。ご存知の方いましたら、どうかよろしくお願いします!!
-
こんにちわ、hizumekazukiさん。
こちらのトピックが参考になるかもしれません。
二つのサイトURLを入れ替えたい
https://ja.forums.wordpress.org/topic/146242?replies=4KUCKLUさん早速の返信、ありがとうございます。
このやり方を実装してみましたが、なぜか新固定ページへリダイレクトしません。
ワードプレス初心者なので、固定ページのURLなどの記述が違っているのかもしれませんが、
ホームページを http://old.com , http://new.com
ワードプレスの固定ページを profile とした場合から
と、そのまま記述するだけでよいのでしょうか??
リダイレクトなので、特に WordPress は関係ないかな?と思うのですが、具体的にはどういう作業をされたのでしょうか?
一般的には .htaccess を使って行う事が多いとは思いますが、WordPress の場合ですとプラグインもありますので・・・。確認させていただきたいのですが
今回の内容は、ドメインを変更したという解釈で相違ないでしょうか?KUCKLUさん返信ありがとうございます。
はい、ドメインを変更しました。
.htaccess に
RewriteEngine On
RewriteCond %{http_host} ^old.com
RewriteRule ^(.*) http://new.com/$1 [R=301,L]という記述をしました。
こうやったところ、トップページのリダイレクトはできたのですが、
直接 http://old.com/profile にアクセスがあった場合リダイレクトのやり方がわかりません。では、こちらではいかがでしょうか?
RewriteEngine on RewriteCond %{HTTP_HOST} ^(old\.com)(:80)? [NC] RewriteRule ^(.*) http://new.com/$1 [R=301,L]こちらのサイトを参考にしました。
■サイトリニューアル時の301リダイレクト、.htaccess記述方法いろいろ | SEOまとめ
http://www.seo-matome.jp/blog/web-design/site-renewal-301-redirect/はい、大至急やってみます!
KUCKLUさん、ありがとうございます。
こちらを記述したところ、
やはりトップページのリダイレクトしかできません。
直接、http://old.com/profile にアクセスすると、そのページを表示してまいます。
こちらではいかがでしょうか。
旧 URL の htaccess に追加してください。<IfModule mod_rewrite.c> RedirectMatch 301 ^/$ http://new.example.com/$1 RedirectMatch 301 ^/(.*)$ http://new.example.com/$1 </IfModule>KUCKLUさん本当にありがとうございます。
そして、大変申し訳ないのですが、
旧 URL の htaccess ってなんでしょうか?
旧 URL の htaccess ってどこに存在するのでしょうか??何度も何度もすみません ! !
確認なのですが、WordPress はドメインだけ変更して、サーバー移転などはしていないという事で相違ないでしょうか?という前提でのちょっと力技なのですが、こんなのはいかがでしょうか?
PHP でリダイレクトさせています。(力技ですみません orz)
以下ソースコードを 使用中のテーマの functions.php に記載してみてください。
※サーバー環境によっては、$_SERVER の内容が取得できずにエラーになるかもしれません。また、htaccess に追記したリダイレクト設定は削除しておいてください。function http_host_301_redirect() { // 現在のブログの URL 情報 $site_host = parse_url( get_bloginfo('url', 'raw' ) ); // 現在のブログのドメイン $site_host = $site_host['host']; // リクエストがあったドメイン $http_host = $_SERVER["HTTP_HOST"]; // リダイレクト先の URL を形成 $redirect = (empty( $_SERVER["HTTPS"] ) ? "http://" : "https://") . $site_host . $_SERVER["REQUEST_URI"]; // 現在のブログのドメインとリクエストがあったドメインが一致した場合は何もしない if ( $site_host === $http_host ) return; // 301 リダイレクトさせる wp_redirect( $redirect, 301 ); } add_action( 'template_redirect', 'http_host_301_redirect', 0 );Chrome のアドオン HTTP Headers などを使用していただければ、301 リダイレクトされているのが確認できると思います。
https://chrome.google.com/webstore/detail/http-headers/mhbpoeinkhpajikalhfpjjafpfgjnmgkはい、WordPress はドメインだけ変更して、サーバー移転などはしていないです。
早速試してみます!
ありがとうございます!!!ぅおーーーーー!!!!!
できました!!!
ありがとうございます!!!!!ちなみに、このサイトです。w
http://kazupi-world.com最後に1つだけ質問よろしいでしょうか??
これを組み込んだことにより、何か不都合が起こりそうな事とかはあるのでしょうか?
1 つあります。
■ リダイレクト可
http://old.example.com/hoge から http://new.example.com/hoge
■ リダイレクト不可
http://old.example.com/hoge から http://new.example.com/fugaとなるので、新ドメインのパーマリンク ( ページ URL ) を変えた場合は、先ほどの関数を少しカスタマイズする必要があります。
つまり、ドメイン以下のURL構造が一緒でなければならい という制約が先ほどの関数ではあります。が、カスタマイズはそんなに大変ではないと思います。わかりました!
KUCKLUさん、
最後まで丁寧に本当にありがとうございます!!!
トピック「旧固定ページを新固定ページにリダイレクトしたいです。」には新たに返信することはできません。