サポート » 使い方全般 » 旧固定ページを新固定ページにリダイレクトしたいです。

  • 解決済 hizumekazuki

    (@hizumekazuki)


    ワードプレスで作成したウェブページのURLの変更を行いました。

    トップページのリダイレクトはできたのですが、
    旧固定ページに直接アクセスがあった場合に、新固定ページにリダイレクトできません。
    旧固定ページを新固定ページにリダイレクトしたいです。

    具体的には、固定ページの
    http://old.com/profile
    のページを
    http://new.com/profile
    にリダイレクトさせたいのです。

    ご存知の方いましたら、どうかよろしくお願いします!!

15件の返信を表示中 - 1 - 15件目 (全20件中)
  • こんにちわ、hizumekazukiさん。

    こちらのトピックが参考になるかもしれません。

    二つのサイトURLを入れ替えたい
    https://ja.forums.wordpress.org/topic/146242?replies=4

    トピック投稿者 hizumekazuki

    (@hizumekazuki)

    KUCKLUさん早速の返信、ありがとうございます。

    このやり方を実装してみましたが、なぜか新固定ページへリダイレクトしません。

    ワードプレス初心者なので、固定ページのURLなどの記述が違っているのかもしれませんが、

    ホームページを http://old.com , http://new.com 
    ワードプレスの固定ページを profile とした場合

    http://old.com/profile

    から

    http://new.com/profile

    と、そのまま記述するだけでよいのでしょうか??

    リダイレクトなので、特に WordPress は関係ないかな?と思うのですが、具体的にはどういう作業をされたのでしょうか?
    一般的には .htaccess を使って行う事が多いとは思いますが、WordPress の場合ですとプラグインもありますので・・・。

    確認させていただきたいのですが
    今回の内容は、ドメインを変更したという解釈で相違ないでしょうか?

    トピック投稿者 hizumekazuki

    (@hizumekazuki)

    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/

    トピック投稿者 hizumekazuki

    (@hizumekazuki)

    はい、大至急やってみます!

    トピック投稿者 hizumekazuki

    (@hizumekazuki)

    KUCKLUさん、ありがとうございます。

    こちらを記述したところ、

    やはりトップページのリダイレクトしかできません。

    直接、http://old.com/profile にアクセスすると、そのページを表示してまいます。

    トピック投稿者 hizumekazuki

    (@hizumekazuki)

    正確に言うなら、

    ページの内容は同じですが、

    アクセスされているページが

    http://new.com/profile

    ではなく、

    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>
    トピック投稿者 hizumekazuki

    (@hizumekazuki)

    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

    トピック投稿者 hizumekazuki

    (@hizumekazuki)

    はい、WordPress はドメインだけ変更して、サーバー移転などはしていないです。

    早速試してみます!
    ありがとうございます!!!

    トピック投稿者 hizumekazuki

    (@hizumekazuki)

    ぅおーーーーー!!!!!
    できました!!!
    ありがとうございます!!!!!

    ちなみに、このサイトです。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構造が一緒でなければならい という制約が先ほどの関数ではあります。が、カスタマイズはそんなに大変ではないと思います。

    トピック投稿者 hizumekazuki

    (@hizumekazuki)

    わかりました!

    KUCKLUさん、
    最後まで丁寧に本当にありがとうございます!!!

15件の返信を表示中 - 1 - 15件目 (全20件中)
  • トピック「旧固定ページを新固定ページにリダイレクトしたいです。」には新たに返信することはできません。