Я запускаю MAMP на своей книге Mac и имею много проектов. Я использую сингл httpd-vhosts.conf
для всех моих конфигов vhost. В одном из моих приложений мне нужно перенаправление стороннего API на мое приложение по адресу 127.0.0.1/[route]
. Мой файл vhosts сопоставляет первый проект с 127.0.0.1
что не обязательно является проектом, на который я хочу перенаправить.
Я хотел бы иметь доступ к любому проекту из localhost
или 127.0.0.1
с суффиксом имени проекта, но он сопоставляется только с первым проектом в файле vhost. Временное решение - закомментировать все проекты, кроме того, который я хочу использовать в настоящее время, и перезапустить apache; не лучшее решение.
Итак, я думаю, мой вопрос в том, как я могу включить несколько проектов для использования 127.0.0.1/project_name
или похожие.
У вас есть несколько вариантов:
Вариант 1) Настройте единый корень документа vhost со всеми вашими проектами под ним. Таким образом, вы должны настроить / Users / jared / projects /, а затем создать каталог для каждого из ваших проектов (/ Users / jared / projects / project-a, / Users / jared / projects / project-b и т. Д.). Затем в apache вы должны создать один виртуальный хост, например:
<VirtualHost 127.0.0.1:80>
ServerName localhost
DocumentRoot /Users/jared/projects
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /Users/jared/projects/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
Любые конкретные настройки проекта должны быть выполнены через файлы .htaccess в каждом каталоге проекта. Это наименее продолжительный тип настройки, но может иметь недостатки.
Вариант 2) Настройте разные виртуальные хосты для каждого проекта и используйте файл / etc / hosts для установки доменных имен. Для этого у вас будет файловая структура, похожая на приведенный выше пример, а затем в файл / etc / hosts вы должны добавить эти строки:
127.0.0.1 project-a
127.0.0.1 project-b
Тогда в вашей конфигурации vhost у вас будет это:
<VirtualHost 127.0.0.1:80>
ServerName project-a
DocumentRoot /Users/jared/projects/project-a
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /Users/jared/projects/project-a/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
<VirtualHost 127.0.0.1:80>
ServerName project-b
DocumentRoot /Users/jared/projects/project-b
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /Users/jared/projects/project-b/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
Эта настройка позволит вам иметь различные конфигурации в каждом блоке vhost, а также добавить уникальное ведение журнала для каждого vhost. Обратной стороной этого является то, что для каждого нового проекта вам нужно будет выполнять настройку в / etc / hosts и в конфигурации vhost.