Мне сложно работать на моем сайте локально, когда в адресной строке есть что-то вроде «localhost: 80». Было бы намного лучше иметь что-то вроде "mydomainoffline.com", которое затем каким-то образом отображается на "localhost: 80", если это возможно. Как бы я сделал это на MAC?
Я использую бесплатный пакет MAMP (mamp.info), а не коммерческий MAMP PRO. Так что мне нужно делать такие вещи вручную. Как я могу это сделать?
Я понимаю, что у OP есть Mac, и что данные решения работают как для Mac, так и для Linux.
Но я также хотел бы добавить, что в Windows тоже есть файл hosts в C:\Windows\System32\drivers\etc\hosts
, на случай, если кто-то зайдет сюда через гугл с той же проблемой и использует окна :)
Веб-сервер не может сделать это за вас, поскольку он не отвечает за разрешение DNS.
Вам нужно будет добавить запись в свой Файл Hosts (/private/etc/hosts
или /etc/hosts
в зависимости от версии), а затем выполните некоторые специальный Mac OS X магический ритуал чтобы он прилип.
Вы можете сделать это, отредактировав /etc/hosts
(вам нужно будет сделать это как администратор, например sudo nano /etc/hosts
Найдите строку, которая выглядит так:
127.0.0.1 localhost
И добавьте другое имя хоста, например
127.0.0.1 localhost mydomainoffline.com
(Изменить: я должен указать, что, хотя это отлично работает для Leopard (10.5), я не знаю о других версиях Mac OS X)
Отредактируйте файл HOSTS (/ etc / hosts) Заменить localhost по желаемому имени
И вам не обязательно иметь: 80, потому что это HTTP-порт по умолчанию.
Finder-> Перейти к-> / etc /
Затем откройте файл hosts с помощью TextEdit и сделайте то, что я сказал выше.
Я не использую MAMP, но я проделал то же самое, используя предварительно установленный Apache 2. Может быть более простой способ сделать это, но он действительно помог мне при тестировании нескольких сайтов на моем локальном компьютере.
Хост-файл находится по адресу /etc/hosts
. Я завершаю все свои локальные тестовые домены с помощью local
, но это не обязательно. Вот образец того, что у меня есть.
# clients
127.0.0.1 acmewidgets.clients.local
127.0.0.1 someclient.clients.local
127.0.0.1 etcetc.clients.local
# Projects and mini sites
127.0.0.1 someproject.proj.local
127.0.0.1 someotherproject.proj.local
# tools
127.0.0.1 sql.tools.local
# Different open source solutions
# e-commerce
127.0.0.1 magento.apps.local
127.0.0.1 opencart.apps.local
127.0.0.1 oscommerce.apps.local
127.0.0.1 zencart.apps.local
# forums
127.0.0.1 vanilla.apps.local
# blogs
127.0.0.1 wp.apps.local
127.0.0.1 wpmu.apps.local
# CMS's
127.0.0.1 joomla.apps.local
127.0.0.1 drupal.apps.local
127.0.0.1 concrete5.apps.local
Так что у меня не только разные клиентские сайты, но и вы можете видеть, что у меня есть подмножество платформ с открытым исходным кодом, которые я регулярно использую и тестирую, а также личные проекты и инструменты.
Также обратите внимание, что заменять localhost
, так как некоторые другие приложения могут его использовать. Вы должны просто добавить
Опять же, я не использую MAMP, поэтому не знаю, где он хранится, но вы ищете http-vhosts.conf
файл. В стандартной установке OS X он находится по адресу /etc/apache2/extra/httpd-vhosts.conf
Для каждого домена * .local, который я создал в своем файле хоста, я создал соответствующую запись виртуального хоста.
NameVirtualHost *:80
# Open source app testing
# ----------------------------------------------------------------------
<VirtualHost *:80>
ServerName opencart.apps.local
DocumentRoot /Users/justin/Development/localhost/opencart/html
</VirtualHost>
<VirtualHost *:80>
ServerName oscommerce.apps.local
DocumentRoot /Users/justin/Development/localhost/oscommerce/html
</VirtualHost>
# Tools
# ----------------------------------------------------------------------
<VirtualHost *:80>
ServerName sql.tools.local
DocumentRoot /Users/justin/Development/localhost/bin/tools/wwwsqldesigner
</VirtualHost>
* Возможно, вам придется изменить права доступа к любому из этих файлов, чтобы сохранить ваши изменения.