.dev から.testにドメインを変更する方法

今までローカルでvagrantを開発環境を作る際には、トップレベルドメインは.devで統一していた。
というのも、laravel環境を作る時に使うhomesteadや、wordpress環境を作る時に使うVCCWでデフォトで設定れていいたトップレベルドメインは.devでした。
しかし以下の原因でドップレベルドメインが.devのドメインは全てhttpsにリダイレクトしてしまうようになってしまった。

.devや.appがgTLDとしてGoogleが購入をした

Google Chromeで.devなどの開発DomainがHTTPSに変更される。

そこでローカル環境が.devのサイトを全て.testに変更することにした。
wordpressの場合はDBにドメイン保存されているので、DBの値も変更しなくてはならなく、ちょっとめんどくかったので修正する方法を説明します。

.dev から.testにドメインを変更する方法

vagrant up
vagrant ssh
cd /vagrant
wp search-replace 'example.dev' 'example.test'

マルチサイトの場合

wp search-replace --network 'example.dev' 'example.test'

これを実行することで、マルチサイトのドメインも変更されます。
マルチサイトのドメインが変更されないとブラウザで見たときに404エラーが出てしまいます。

wp search-replaceでエラーが出た場合

Error: Site 'example.dev/' not found. Verify DOMAIN_CURRENT_SITE matches an existing site or use `--url=<url>` to override.

このようなエラーが出る場合はwp-config.phpのDOMAIN_CURRENT_SITEの値を変更前のドメインと合わせる必要がある。
ex.

define( 'DOMAIN_CURRENT_SITE', 'example.test' );

マルチサイトの方にアクセスしても表示されない場合

chromeで見た場合のエラー内容

このサイトにアクセスできません
tech.weblighten.test のサーバーの IP アドレスが見つかりませんでした。
次をお試しください:

接続を確認する
プロキシ、ファイアウォール、DNS の設定を確認する
ERR_NAME_NOT_RESOLVED

このように表示された場合は、hostsの設定にサブドメインのアドレスも追加してください。
例えばメインのドメインが
192.168.33.10 example.test
とかであればIPはそのままに
192.168.33.10 sub.example.test
とかってすれば良いです。

なんかマルチサイトでもこの対応が必要な場合とそうでない場合があってなんでなのか理由が分からないです。
ご存知の方いたら教えてください。

参考サイト
* ゼロからできるWordPress開発〜VCCWでデプロイ編〜 | MAKING | 株式会社スタジオ・アルカナ
* WP-CLIを使ってWordPressのマルチサイトのURLを一括置換する方法

コメントを残す