В настоящее время это мой httpd-vhosts.config
файл
NameVirtualHost *:80
<VirtualHost *:80>
VirtualDocumentRoot /Users/Gabri/Sites/%2/%1/build
</VirtualHost>
Однако я хотел бы иметь доступ к localhost
также, чтобы иметь возможность просматривать его в той же сети, используя IP-адрес компьютера. поэтому я попробовал это
NameVirtualHost *:80
<VirtualHost *:80>
ServerName localhost
VirtualDocumentRoot /Users/Gabri/Sites/
</VirtualHost>
<VirtualHost *:80>
VirtualDocumentRoot /Users/Gabri/Sites/%2/%1/build
</VirtualHost>
но он направлен только на localhost
Как я могу это исправить?
Вам нужно добавить ServerName и ServerAlias, в вашем случае вам, вероятно, также понадобится подстановочный знак:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName localhost
VirtualDocumentRoot /Users/Gabri/Sites/
</VirtualHost>
<VirtualHost *:80>
ServerName default.localhost
ServerAlias default.localhost *
VirtualDocumentRoot /Users/Gabri/Sites/%2/%1/build
</VirtualHost>
У меня та же проблема, но что-то вроде этого исправило для меня, единственная проблема, что если я создал новую папку на сайтах, мне нужно пойти и отредактировать httpd-vhosts.conf
файл снова. Я надеюсь, что есть более простой способ сделать это.
NameVirtualHost *:80
<VirtualHost *:80>
ServerName localhost
ServerAlias localhost
DocumentRoot /Users/<username>/Sites/
ErrorLog "logs\errors.log"
</VirtualHost>
<VirtualHost *:80>
ServerAlias *.dev
VirtualDocumentRoot /Users/<username>/Sites/dev/%1/build
</VirtualHost>
<VirtualHost *:80>
ServerAlias *.wordpress
VirtualDocumentRoot /Users/<username>/Sites/wordpress/%1/public
</VirtualHost>
<VirtualHost *:80>
ServerAlias *.localhost
VirtualDocumentRoot /Users/<username>/Sites/localhost/%1/www
</VirtualHost>
Вашему другому сайту нужно другое имя сервера. И ваш DNS должен знать об этом!
<VirtualHost *:80>
VirtualDocumentRoot /Users/Gabri/Sites/%2/%1/build
ServerName Something
</VirtualHost>