質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

1回答

3383閲覧

既存WPのテスト環境にログインすると、本番URLにリダイレクトしてしまう

退会済みユーザー

退会済みユーザー

総合スコア0

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2022/02/04 11:04

前提・実現したいこと

本番環境(公開済み)のWPのテスト環境を、今後の修正やアップデートに備えて、サブドメインで作成したい

発生している問題・エラーメッセージ

本番WPから保存してきたデータをテスト環境に移していく内に、テスト環境の管理画面にいこうとすると本番URLへリダイレクトされるようになってしまった

試したこと

1.「wp-config.php」に下記を記載

define ('WP_SITEURL', 'サブドメインのサイトURL'); define ('WP_HOME', 'サブドメインのサイトURL');

2.「.htaccess」と「wp-config.php」の記述を確認
本番URLの記述なし
以下のようなリダイレクト設定も見当たりませんでした

<IfModule mod_rewrite.c> RewriteEngine On RewriteRule 転送元のURL 転送後のURL [R=301,L] </IfModule>

リダイレクトまでの経緯

まず、Xサーバーでサブドメインを取得し、Wordpress簡単インストールを行った
1. 既存WPのデータを入れていく
→「themes」「uploads」「plugins」(FTPから手動でBKしていたものを上書き)
→既存WPの管理画面からエクスポートしていたxmlファイルをインポート

2.一度プレビューしてみると大きなレイアウトの崩れ+データ取得ができていない様子
→プラグインを有効化に設定
→変化がなかったため、ここで改めてWPのテスト環境の作り方を検索

3.検索して発見したプラグイン「All-in-One WP Migration」を使うことに
イメージ説明
→ただ、インポート可能な最大データ容量が30MBだった為、既存WPからまず
「データベースをエクスポートしない (SQL) 」
「メールアドレスのドメインを置換しない (SQL) 」
上記2つのみチェックを外した状態でファイルをエクスポート

→その後、テストWPにも同じプラグインを導入し、先程エクスポートしたファイルをインポート

4.再度プレビューしてみると何故か本番URLにリダイレクトされてしまう
(テスト環境の管理画面にログインすらできなくなった)

補足情報

そもそもサブドメインでテスト環境を作る際の手順や方法が間違っていたのか、悪い点と解決法が分からず…という状況です。
入念に調べたつもりですが、必要な補足情報もよく分からずすみません。もし必要な情報等ございましたら都度ご返信させていただきます。
何卒よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Eskee

2022/02/04 20:27

ブラウザキャッシュはクリアされましたか?
退会済みユーザー

退会済みユーザー

2022/02/07 01:42

Eskee様 ご依頼いただきありがとうございます。 キャッシュクリアを行いましたが、リダイレクトは変わらずでした…。
guest

回答1

0

本番環境からDBデータやファイルを持ってきて本番サイトと違うFQDN(URLの~.jpや~.comまでの部分)で、例えば本番がaaa.comの時にbbb.aaa.comのサブドメインを作ってテスト用環境を構築するのはよくあることです。

その際に注意すべき点は1つ
・ドメインが変わることになるのでDBデータ内部とファイル(phpやjsなど)内部に存在する元の本番サイトのFQDN名をテスト環境のFQDN名に書き換える

今回はwp-config.phpに強制的にdefine定義してサブドメイン名にしていますが、上記にもある通りDB内部とファイル内に記述された元のFQDNが残っていると当然元サイトのURLに飛んでしまいます。

対応方法は、

  1. ファイル内に直接URL記述したものがある場合はそれを修正する。

  2. DBのバックアップを作成しておいてからDBデータ上のFQDNを新しい方に全部書き換える。

 サーバにsshのコマンドラインでログインできるなら、DBデータのバックアップを作成(MySQLなら mysqldumpコマンド)しておいてから、WordPressの専用コマンド(wp)でDB内部のFQDN文字列を全置換するのが手っ取り早いです。DBデータのバックアップはコマンドからの他に、phpMyAdminがインストールされているならそちらでバックアップファイルを作成するのもOKです。

sshクライアントソフトでサーバに接続し、WordPressがインストールされているフォルダに移動して、そこで

sh

1wp search-replace '://本番サイトのFQDN' '://テストサイトのFQDN' --dry-run

としてまずは確認。
特にエラーがなければ --dry-runを外して書き換え実行。

参考: WP-CLIでドメイン置換を行う wp search-replace

以上で、wp-config.phpの余計なdefine定義をしなくても正しく動作します。

投稿2022/02/05 02:50

AnMoreNight

総合スコア109

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問