Jak uzyskać alias nazwy hosta w systemie Mac OSX


24

W skrócie, chciałbym móc otworzyć przeglądarkę i otworzyć, local.example.comale tak naprawdę się ładujehttp://localhost/path/to/example.com/

Używam Mac OSX 10.5 i nie boję się zabrudzić terminalu terminalem :)

Używam Apache jako mojego lokalnego serwera.


Czy próbujesz wyświetlać strony internetowe na zewnątrz, czy tylko oczekujesz, że adres URL local.example.com będzie działał na Twoim komputerze?
— Stephen Jennings

Tylko dla mojej własnej maszyny. Męczące jest pisanie / zapamiętywanie pełnej ścieżki do mojej lokalnej kopii stron internetowych, nad którymi pracuję.
— Austin Hyde

Odpowiedzi:


31

Dla jasności opieram to na założeniu, że naprawdę chcesz, aby http://local.example.com ładował dosłowną stronę internetową http: //localhost/path/to/example.com . Innymi słowy, będzie to działać tylko w przypadku tego komputera. Z drugiej strony, jeśli próbujesz wyświetlać strony internetowe na zewnątrz za pomocą komputera z systemem Mac OS X, to jest inne pytanie.

Najpierw dodaj nowy wiersz do /etc/hostspliku:

127.0.0.1   local.example.com

Możesz to zrobić, uruchamiając polecenie sudo nano /etc/hosts, dodaj ten wiersz na końcu, a następnie zapisz go, naciskając Ctrl-X, Y.

Sposób przekierowania / aliasu adresu http://local.example.com na http: //localhost/path/to/example.com/ zależy od używanego serwera WWW. Zakładając, że używasz Apache:

Jeśli chcesz, aby przeglądarka użytkownika wyświetlała adres local.example.com, musisz skonfigurować hosta wirtualnego, a Twój httpd.confplik powinien mieć coś takiego:

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

Jeśli natomiast chcesz, aby pasek lokalizacji przeglądarki zmienił się na http: //localhost/path/to/example.com/ , zamiast tego będziesz chciał użyć mod_rewrite do utworzenia przekierowania :

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

To nie pójdzie jednak na pewną ścieżkę
— John T

@John masz rację, naprawione.
— Stephen Jennings

Gdyby pożądany „alias” był https://localhost/path/to/example.com, tzn. HTTPSNie HTTP, czy to rozwiązanie nadal obowiązywałoby?
— Kevin Meredith,

@KevinMeredith to niemożliwe. Przeglądarka musi wiedzieć, że mówi HTTPS. Może to być możliwe dzięki przekierowaniu HTTP 302, które w Apache jest nazywane Redirect. httpd.apache.org/docs/2.4/mod/mod_alias.html#redirect
— Beetle

/ etc / hosts zazwyczaj jest nadpisywany, jeśli używasz VPN
— Jonathan Neufeld
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.