MENTAやTimeTicketでZoomオンライン指導・メンタリングを行っています。
WordPressやHTMLサイトのトラブル、SEO対策のご相談、HTML・CSS・WordPressなどのレクチャーなどが可能です。


【ナナ 様】サブディレクトリからルートディレクトリへリダイレクトすると管理画面に入れなくなる

インストールディレクトリ(/wp/など)を無くし、サブディレクトリからルートディレクトリへリダイレクトした場合のリダイレクトについてご相談頂きました。

『検索結果に別のサイトのタイトルがついてしまいます』でお世話になりましたナナです。
【ナナ 様】検索結果に別のサイトのタイトルがついてしまいます

質問の内容が変わってきたので新しくこちらで質問させていただくことにしました。

質問していたAサイトはサブディレクトリにwordpressをインストールしてしまっていたので、ルートディレクトリに移すことにしました。

wordpressアドレスはそのままで、サイトアドレスだけ変えるという載っていた方法で上手くサイトアドレスをルートディレクトリに移すことができました。

http://あああ/あああ ⇒ http://あああ

という感じに。

そのあとに問題が起きました。

調べて見つけた下記の.htaccessのコードを使ってリダイレクトしました。
(例:元のアドレス:http://あああ/あああ)

RewriteEngine on
RewriteBase /

RewriteRule ^あああ/(.*)$ 新しいhttp://あああ$1 [R=301,L]

この方法で、サブディレクトリに入れていたアドレスから、ルートディレクトリに入れた方へのリダイレクトは上手くできました。

けれども、管理画面もリダイレクトしてしまうようで、404エラーになって管理画面が開けません。
wordpressアドレスは元のままなので、新しい方だと入れません。

『管理画面はリダイレクトしない』という.htaccess

#除外設定
RewriteCond %{REQUEST_URI} !(^/wp-admin/)
RewriteCond %{REQUEST_URI} !\.css$
RewriteCond %{REQUEST_URI} !\.js$
RewriteCond %{REQUEST_URI} !\.jpg$
RewriteCond %{REQUEST_URI} !\.gif$
RewriteCond %{REQUEST_URI} !\.png$

を3列目に追加してみたのですが上手くいきません。

この除外設定を使って、前回教えていただいたwwwを使ったサブドメイン(Bサイト)から別のサブドメインへ移転した時は上手くいきました。

何がいけないのでしょうか?
サブディレクトリからルートディレクトリに変更する場合にはこのコードではまずいのでしょうか?
それともドメイン名とサブディレクトリ名が同じだから、上手くいかないのでしょうか?

ちなみに、通常はリダイレクト元の方にリダイレクト設定をするとのことなので、成功した方(サブドメインからサブドメイン)に移転の方はリダイレクト元に入れました。

けれども、今回のような移転の場合はルートディレクトリと同じ階層に入れると書いてあったので階層の一番上と同じ所にいれています。
一応試しにサブディレクトリの階層に入れるのも試してみましたが変わりませんでした。

管理画面はリダイレクトしないようにするいい方法が分かりましたら教えてください。


>ナナ様
ご相談ありがとうございます。

ご連絡が遅れて申し訳ありません。
僕もhtaccessの記述はコピペ中心なので正確にお伝え出来なくて申し訳ないのですが、やはり変だな?と思ったのは管理画面のURLですね。

仰る通り、WordPressアドレス(インストールしたフォルダ)の/ドメイン名フォルダ/はそのまま残っているはずなので、ログインURLは変わらないはずです。
なので除外設定にはドメイン名ディレクトリも必要なのではないでしょうか。
RewriteCond %{REQUEST_URI} !(^/ドメイン名/wp-admin/) など

https://【domain】.red/【domain】.red/wp-admin が、
https://【domain】.red/wp-login.php に転送されてしまいます。

あとは、以前ご相談頂いたのはプラグインを使った方法です。htaccessの記述が上手くいかなかったら、こちらも検討してみてください。
参考にして頂ければ幸いです。
WordPressのルートディレクトリを変更した際のリダイレクトについて

あとは、「サブディレクトリの階層に入れるのも試してみました」ということですが、サブディレクトリにはサブディレクトリのhtaccessがあったはずです。これの上書きで別の問題が起きていないかも注意してみてください。

おすすめコンテンツ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA