hostsファイルの場所と書き方|Windows11・Mac対応の編集手順

カフェでノマドしながら記事を書くライター

サーバーを移転するとき、必ず発生するのがネームサーバー(DNS)の切り替え作業です。ところがDNSは設定してもすぐには反映されず、浸透するまでに数時間〜数十時間かかります。その間、ブラウザでサイトを開いても新旧どちらのサーバーにつながっているのか分からず、新サーバーで正しく表示されるか確認できません。

そこで役立つのが、お使いのパソコンのhostsファイルです。hostsを編集すれば、DNSが切り替わる前でも、自分のパソコンだけを新サーバーに向けて動作確認できます。

この記事では、hostsファイルの場所と書き方を、Windows 11・10とmacOSの両方に対応して、編集手順・反映されないときの対処・確認方法まで含めて解説します。

hostsファイルとは

hostsファイルとは、OSに標準で備わっているシステムファイルのひとつで、IPアドレスとドメイン名の対応表です。パソコンはドメイン名にアクセスする際、通常はDNSサーバーに「このドメインのIPアドレスは?」と問い合わせますが、その前にこのhostsファイルを参照します。

つまりhostsに「このドメインはこのIP」と書いておけば、DNSの設定よりも優先して、そのパソコンだけを指定したサーバーへ接続させられるわけです。これがサーバー移転前の動作確認に使える理由です。

hostsファイルの場所

OSごとのhostsファイルの場所は次の通りです。現在主流のWindows 11・10とmacOSは同じパスなので、まずここを押さえれば十分です。

OS hostsファイルの場所
Windows 11 / 10 / 8 / 7 C:\Windows\System32\drivers\etc\hosts
macOS /etc/hosts
Linux /etc/hosts

なお、Windowsのパスは拡張子のない hosts というファイルが本体です(hosts.txt ではありません)。

hostsファイルの編集手順(Windows 11・10)

Windowsのhostsはシステムフォルダ(System32)の中にあるため、そのまま開いても保存できません。ここが最初のつまずきポイントです。必ずテキストエディタを「管理者として実行」してから開いてください。

  • スタートメニューで「メモ帳」を検索し、右クリック →「管理者として実行」を選ぶ
  • メモ帳の「ファイル → 開く」で C:\Windows\System32\drivers\etc へ移動する
  • 右下のファイル種別を「すべてのファイル」に変更すると hosts が表示されるので、これを開く
  • 後述の書き方に従って一行追記し、上書き保存する

編集前に元のhostsファイルをコピーしてバックアップを取っておくと、戻すときに安心です。

hostsファイルの編集手順(macOS)

Macではターミナルから編集するのが確実です。「アプリケーション → ユーティリティ → ターミナル」を開き、次のコマンドを実行します。

sudo nano /etc/hosts

Macのログインパスワードを入力するとエディタ(nano)が開きます。末尾に一行追記したら、Control + O で保存、Control + X で終了します。

hostsファイルの書き方

書き方はOS共通で、ファイルの最下部に「IPアドレス + 半角スペース + ドメイン名」を一行で追記するだけです。

203.0.113.10    www.webernote.net
203.0.113.10    webernote.net

サーバー移転の動作確認では、ここに書くIPは新しいサーバーのIPアドレスです。これでDNSがまだ旧サーバーを指していても、自分のパソコンだけは新サーバーに接続して表示を確認できます。wwwあり・なしの両方でアクセスする可能性があるなら、上の例のように2行書いておくと確実です。

変更が反映されないときは(DNSキャッシュのクリア)

hostsを編集しても、パソコンが古い接続先を記憶(DNSキャッシュ)していて反映されないことがあります。その場合は次のコマンドでキャッシュをクリアします。

Windows

コマンドプロンプトを「管理者として実行」して、次を実行します。

ipconfig /flushdns

macOS

ターミナルで次を実行します(macOSのバージョンによりコマンドが異なる場合があります)。

sudo dscacheutil -flushcache
sudo killall -HUP mDNSResponder

それでも変わらないときは、ブラウザ自身のキャッシュが原因のこともあります。シークレットウィンドウで開く、またはブラウザを再起動して確認してください。hostsの編集自体は、パソコンの再起動なしで反映されます。

新サーバーにつながっているか確認する方法

hostsが効いているかは、コマンドで接続先IPを確認するのが確実です。Windowsはコマンドプロンプト、Macはターミナルで次を実行します。

ping www.webernote.net

表示されるIPアドレスが、hostsに書いた新サーバーのIPになっていれば成功です。あとはブラウザで実際にサイトを開き、表示崩れ・リンク切れ・画像の欠けなどがないかを確認します。

確認が終わったら必ず元に戻す

動作確認が終わったら、追記した行は必ず削除(またはコメントアウト)して元に戻してください。消し忘れると、DNSが切り替わった後もそのパソコンだけが古いIPを見続け、「自分の環境でだけ表示がおかしい」という原因の分かりにくいトラブルにつながります。

行頭に # を付けるとコメントアウト(一時的に無効化)できます。

# 203.0.113.10    www.webernote.net

編集時の注意点・よくあるミス

  • IPアドレスとドメインの区切りは半角スペース(またはTab)。全角スペースだと効きません。
  • Windowsで保存できないときは、エディタを管理者として実行できているか確認。
  • セキュリティソフトがhostsの改変をブロックする場合があります。保存できないときは一時的に確認を。
  • 確認後の戻し忘れが最も多いミス。作業はバックアップとセットで。

まとめ

hostsファイルを使えば、DNSが浸透する前でも自分のパソコンだけを新サーバーに向けて、サーバー移転の動作確認ができます。手順は「管理者権限で開く → IPとドメインを一行追記 → 必要ならDNSキャッシュをクリア → 確認 → 元に戻す」の流れです。

移転トラブルの多くは、切り替え後に初めて問題に気づくことで起こります。hostsでの事前確認を習慣にしておけば、こうした事故の大半は未然に防げます。サーバー移転の際は、ぜひ取り入れてみてください。