Як псевдонім імені хоста на Mac OSX


24

Коротше кажучи, я хотів би мати можливість відкрити браузер і відкрити, local.example.comале він фактично завантажуєтьсяhttp://localhost/path/to/example.com/

Я використовую Mac OSX 10.5, і не боюся забруднити руки терміналом :)

Я використовую Apache як мій локальний сервер.


Ви намагаєтеся розміщувати веб-сторінки у зовнішньому світі чи очікуєте лише, що URL-адреса local.example.com працюватиме на вашій машині?
Стівен Дженнінгс

Тільки для моєї власної машини. Набирає / запам'ятовує повний шлях до моєї локальної копії будь-яких веб-сайтів, над якими я працюю.
Остін Гайд

Відповіді:


31

Щоб зрозуміти, я базую це на припущенні, що ви дійсно хочете, щоб http://local.example.com завантажував буквальну веб-сторінку http: //localhost/path/to/example.com . Іншими словами, це буде працювати тільки для цієї машини. Якщо, з іншого боку, ви намагаєтеся розміщувати веб-сторінки у зовнішньому світі за допомогою машини Mac OS X, то це вже інше питання.

Спочатку додайте у файл новий рядок /etc/hosts:

127.0.0.1   local.example.com

Це можна зробити, виконавши команду sudo nano /etc/hosts, додати цей рядок до кінця, а потім зберегти його, натиснувши Ctrl-X, Y.

Як ви фактично переспрямовуєте / псевдонім адресу http://local.example.com на http: //localhost/path/to/example.com/, залежить від того, який веб-сервер ви використовуєте. Припустимо, що ви використовуєте Apache:

Якщо ви хочете, щоб у веб-переглядачі відображався local.example.com, тоді ви хочете встановити вірусний хост, а у вашому httpd.confфайлі має бути щось подібне:

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

Якщо, з іншого боку, ви хочете, щоб рядок розташування веб-браузера змінився на 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]

Але це не піде певним шляхом
Джон Т

@John, ти маєш рацію, твердо.
Стівен Дженнінгс

Якби бажані "псевдоніми" були https://localhost/path/to/example.com, тобто HTTPSні HTTP, чи застосовуватиметься це рішення?
Кевін Мередіт

@KevinMeredith це неможливо. Веб-переглядач повинен знати, що він говорить про HTTPS. Це може бути можливим за допомогою перенаправлення HTTP 302, яке в Apache називається Redirect. httpd.apache.org/docs/2.4/mod/mod_alias.html#redirect
Жук

/ etc / hosts зазвичай перезаписується, якщо ви використовуєте VPN, хоча
Джонатан Нойфельд,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.