Mac OSXでホスト名をエイリアスする方法


24

一言で言えば、ブラウザを開いて開くことができるようにしたいのですlocal.example.comが、実際にはそれがロードされますhttp://localhost/path/to/example.com/

私はMac OSX 10.5を使用していますが、端末で手を汚すことを恐れていません:)

ローカルサーバーとしてApacheを使用します。


Webページを外部に提供しようとしているのですか、それともlocal.example.comの URL のみがマシンで機能することを期待しているのですか?
スティーブンジェニングス

自分のマシンのためだけに。作業中のWebサイトのローカルコピーへの完全なファイルパスを入力するのが面倒です。
オースティンハイド

回答:


31

ただ、明確にするために、私はあなたが本当にやりたいことを前提にこれを基づかてるhttp://local.example.comをリテラルWebページのロードに//localhost/path/to/example.comます。http。つまり、これはこのマシンでのみ機能します。一方、Mac OS Xマシンを使用してWebページを外部に提供しようとしている場合、それは別の質問です。

まず、/etc/hostsファイルに新しい行を追加します。

127.0.0.1   local.example.com

これを行うには、コマンドを実行し、sudo nano /etc/hostsこの行を最後に追加し、Ctrl-X、Yを押して保存します。

実際にアドレスhttp://local.example.comhttp://localhost/path/to/example.com/にリダイレクト/エイリアスする方法は、使用しているWebサーバーによって異なります。Apacheを使用していると仮定します。

あなたは、ユーザーのブラウザがlocal.example.comを表示したい場合は、設定したいvirualホストをして、あなたのhttpd.confファイルには、次のようなものを持っている必要があります。

<VirtualHost *:80>
ServerName local.example.com
DocumentRoot /www/path/to/example.com
</VirtualHost>

一方、Webブラウザーのロケーションバーをhttp://localhost/path/to/example.com/に変更する場合は、代わりにmod_rewriteを使用してリダイレクトを作成します

RewriteCond %{HTTP_HOST}   !^local\.example\.com [NC]
RewriteCond %{HTTP_HOST}   !^$
RewriteRule ^/?(.*)         http://localhost/path/to/example.com/$1 [L,R,NE]

これは、特定のパスかかわらに行くことはありません
ジョン・T

@ジョン、あなたは正しい、修正されました。
スティーブンジェニングス

必要な「エイリアス」がhttps://localhost/path/to/example.com、つまりHTTPS、ではない場合HTTP、このソリューションはまだ適用されますか
ケビンメレディス

@KevinMeredithそれは不可能です。ブラウザはHTTPSを使用していることを知っている必要があります。HTTP 302リダイレクト(Apacheでは)と呼ばれる可能性がありますRedirecthttpd.apache.org/docs/2.4/mod/mod_alias.html#redirect
Beetle

ただし、VPNを使用している場合、通常/ etc / hostsは上書きされます
Jonathan Neufeld
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.