サポート » 使い方全般 » 301リダイレクトを使ったURLの正規化と.htaccess

  • 解決済 officeplus2016

    (@officeplus2016)


    現在2つのサイトを制作していて、今更ですが、SEOを始めようと思い、

    ★1つは、

    サイトのホームページを WordPress のインストールディレクトリとは異なるものにしたかったので、

    設定 ➡ 一般設定の

    WordPress アドレス (URL)が、http://office-plus.jp/wp
    サイトアドレス (URL)が、http://office-plus.jp

    に設定、

    “www”あり・なしを統一するつもりで、
    Google Search Console で、
    サイトの設定 → 使用するドメイン で、
    ”URLをoffice-plus.jp と表示”を選択

    して、無事終了した???はずで、

    ★もう1つも同じように・・・と思ったのですが、今度は、”www”ではなく、以前から使用ののXサーバーで取得した”www”部分が”shizuoka”のURL

    ➀ http://shizuoka.office-plus.jp と、

    今回WPで作った

    ② http://office-plus.jp/shizuoka/

    ➀ と ② は同一のページの為、統一しなけりば・・・と、
    Google Search Console で、
    サイトの設定 → 使用するドメイン で、 
    ”URLをshizuoka.office-plus.jp と表示”を選択

    と思ったのですが・・・出来ず(選ぶ項目も出てこず・・・)、

    Googleさんで調べてみると、ユーザーが複数の異なるURLを介してサイトにアクセスする場合、

    301リダイレクトを使ったURLの正規化と、
    .htaccessを使用した方が良いらしい???

    というところまでは、わかったのですが、

    もともと、サイトのホームページを WordPress のインストールディレクトリとは異なるものにしたかったので、

    設定 ➡ 一般設定の

    WordPress アドレス (URL)が、http://office-plus.jp/shizuoka/wp
    サイトアドレス (URL)が、http://office-plus.jp/shizuoka

    に、設定してあり、その為 http://office-plus.jp/shizuoka/.htaccess
    が、下記、

    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /shizuoka/wp/
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /shizuoka/wp/index.php [L]
    </IfModule>
    
    # END WordPress

    のようになっています。

    301リダイレクトを使ったURLの正規化と、
    .htaccessの、変更???したいのですが、やり方がさっぱりわかりません!

    なんか、質問も、よくわからないかもしれませんが???

    どなたか、ご教授お願いできますでしょうか?

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • まず何をどう 301リダイレクト転送したいのかだけを書き出してみてください。

    たとえば、
    http://shizuoka.office-plus.jp –> http://office-plus.jp/shizuoka/
    への301リダイレクトだあれば、
    http://shizuoka.office-plus.jp のトップフォルダに .htaccess を作成して
    http://office-plus.jp/shizuoka/ へのリダイレクトを書くことになります。
    つまり転送元に転送先を書くということです。

    そこまでの設定が許可されているかはサーバー次第で違いますが、文面からは
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^(.*)$ http://office-plus.jp/shizuoka/$1 [R=301,L]
    </IfModule>
    とか入れると全転送になるかなとは思います。
    つまり、 RewriteEngine On の下の行に割り込んで
    RewriteRule ^(.*)$ http://office-plus.jp/shizuoka/$1 [R=301,L]
    を入れるということです。

    あとはまぁ何から何に転送したいか次第かなと思います。

    トピック投稿者 officeplus2016

    (@officeplus2016)

    kimipooh様

    ご指導ありがとうございます。

    http://shizuoka.office-plus.jp のトップフォルダの .htaccess の
    RewriteEngine On の下の行に割り込んで
    RewriteRule ^(.*)$ http://office-plus.jp/shizuoka/$1 [R=301,L]

    を、入れてみました。

    全転送になったようなのですが・・・

    http://shizuoka.office-plus.jp

    にアクセスすると・・・、

    office-plus.jp ページは機能していません

    office-plus.jp でリダイレクトが繰り返し行われました。
    次をお試しください:
    ページを再読み込みする
    Cookie を消去する
    ERR_TOO_MANY_REDIRECTS

    ・・・と、なってしまっていたので、取りあえず一旦もとにもどしました。

    転送先にそのまま飛ぶのかと思ったのですが???
    良く分からず、申し訳ありません。

    提示したものは、単純に
    http://shizuoka.office-plus.jp –> http://office-plus.jp/shizuoka/
    への転送例です。

    ただし、最初に提示されていた

    ➀ http://shizuoka.office-plus.jp と、

    今回WPで作った

    ② http://office-plus.jp/shizuoka/

    ➀ と ② は同一のページの為、

    を読み解いてみると、それぞれ全く同じフォルダを見ている、つまりは同じ .htaccessを見ているので無限転送になってしまっているように思います。

    ならば、http://shizuoka.office-plus.jp へのアクセスに条件を限定して、http://office-plus.jp/shizuoka/への転送をせねばなりません。

    もしそういう構成であれば、

    RewriteCond %{HTTP_HOST} ^shizuoka\.office-plus\.jp [NC]
    RewriteRule ^(.*)$ http://office-plus.jp/shizuoka/$1 [R=301,L]

    のように、転送前に接続ホストが shizuoka.office-plus.jp の時のみ、http://office-plus.jp/shizuoka へ全転送するというルールにするといけるんじゃないかなと思います。

    トピック投稿者 officeplus2016

    (@officeplus2016)

    kimipooh様

    たびたびの、ご指導ありがとうございます。

    教えて頂いたとおり、上記の、

    RewriteCond %{HTTP_HOST} ^shizuoka\.office-plus\.jp [NC]
    RewriteRule ^(.*)$ http://office-plus.jp/shizuoka/$1 [R=301,L]

    を、RewriteEngine On の下の行に、そのままコピー&ペーストさせて頂きましたら、成功いたしました!解決です。素晴らしい!!!

    とても、助かりました!感謝です!

    ありがとうございました。

    トピック投稿者 officeplus2016

    (@officeplus2016)

    5カ月前に同じ質問をさせていただいたのですが、今度は、

    同一ペ-ジ
    http://office-plus.jp/shizuoka/http://shizuoka.office-plus.jp

    に301リダイレクトを設定したいのですが、うまくいきません。。。

    上記の

    RewriteCond %{HTTP_HOST} ^shizuoka\.office-plus\.jp [NC]
    RewriteRule ^(.*)$ http://office-plus.jp/shizuoka/$1 [R=301,L]

    を抜いてみたりしたのですが、うまくいかずやはり、無限転送???になってしまっているみたいです。

    現在の WordPress の設定は、

    設定 ➡ 一般設定の

    WordPress アドレス (URL)が、http://shizuoka.office-plus.jp/wp
    サイトアドレス (URL)が、http://shizuoka.office-plus.jp

    です。

    どなたかわかる方がいらっしゃいましたら教えて頂きたいです。
    よろしくお願いいたします。

    トピック投稿者 officeplus2016

    (@officeplus2016)

    何故かよくわからないのですが、直りました。
    とりあえず、解決です。

6件の返信を表示中 - 1 - 6件目 (全6件中)
  • トピック「301リダイレクトを使ったURLの正規化と.htaccess」には新たに返信することはできません。