Alias ​​eines Hostnamens unter Mac OSX


24

Kurz gesagt, ich möchte einen Browser öffnen und öffnen können, local.example.comaber er wird tatsächlich geladenhttp://localhost/path/to/example.com/

Ich benutze Mac OSX 10.5 und habe keine Angst davor, mir die Hände mit dem Terminal schmutzig zu machen :)

Ich benutze Apache als lokalen Server.


Versuchen Sie, Webseiten für die Außenwelt bereitzustellen , oder erwarten Sie nur, dass die URL local.example.com für Ihren Computer funktioniert?
— Stephen Jennings

Nur für meine eigene Maschine. Es wird mühsam, den vollständigen Dateipfad für meine lokale Kopie der Websites, an denen ich arbeite, einzugeben / zu speichern.
— Austin Hyde

Antworten:


31

Ich gehe davon aus, dass Sie wirklich wollen, dass http://local.example.com die wörtliche Webseite http: //localhost/path/to/example.com lädt . Mit anderen Worten, dies funktioniert nur auf diesem Computer. Wenn Sie jedoch versuchen, mit Ihrem Mac OS X-Computer Webseiten für die Außenwelt bereitzustellen, ist dies eine andere Frage.

Fügen Sie Ihrer /etc/hostsDatei zunächst eine neue Zeile hinzu :

127.0.0.1   local.example.com

Führen Sie dazu den Befehl aus sudo nano /etc/hosts, fügen Sie diese Zeile am Ende hinzu und speichern Sie sie durch Drücken von Strg-X, Y.

Wie Sie die Adresse http://local.example.com tatsächlich zu http: //localhost/path/to/example.com/ umleiten / aliasen, hängt davon ab, welchen Webserver Sie verwenden. Angenommen, Sie verwenden Apache:

Wenn der Browser des Benutzers local.example.com anzeigen soll, möchten Sie einen virtuellen Host einrichten und Ihre httpd.confDatei sollte etwa Folgendes enthalten:

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

Wenn Sie andererseits möchten, dass die Adressleiste des Webbrowsers zu http: //localhost/path/to/example.com/ wechselt , sollten Sie stattdessen mod_rewrite verwenden, um eine Umleitung zu erstellen :

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

Dies führt jedoch nicht zu einem bestimmten Pfad
— John T

@ John du hast recht, behoben.
— Stephen Jennings

Wenn der gewünschte "Alias" wäre https://localhost/path/to/example.com, dh HTTPSnicht HTTP, würde diese Lösung noch gelten?
— Kevin Meredith

@ KevinMeredith das ist nicht möglich. Der Browser muss wissen, dass es sich um HTTPS handelt. Möglicherweise ist dies mit einer HTTP 302-Umleitung möglich, die in Apache aufgerufen wird Redirect. httpd.apache.org/docs/2.4/mod/mod_alias.html#redirect
— Käfer

/ etc / hosts wird normalerweise überschrieben, wenn Sie ein VPN verwenden
— Jonathan Neufeld
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.