У меня есть настройка для разработки поддоменов с apache / wamp, все работает так, как мне нужно, с «обычной» настройкой и отдельно с настройкой «xyz», но мне приходится менять конфигурацию и перезапускать сервер каждый раз, когда мне нужна другая настройка .
Есть ли способ, чтобы обе настройки работали одновременно?
Я ищу ответ, который позволит мне получить доступ к обеим настройкам одновременно, не меняя URL-адреса или порты, которые я использую для доступа к ним.
это моя обычная установка
<VirtualHost *:9090>
ServerName localhost.com
ServerAlias *.localhost.com
VirtualDocumentRoot u:\wamp\www\subdomains\%1
<directory "u:\wamp\www\subdomains\%1">
Options Indexes FollowSymLinks
AllowOverride all
Order Deny,Allow
Deny from all
Allow from all
</directory>
</VirtualHost>
Это моя вторичная (xyz) установка
<VirtualHost *:9090>
ServerName localhost.com
ServerAlias *.xyz.localhost.com
VirtualDocumentRoot u:\wamp\www\subdomains\xyz
<directory "u:\wamp\www\subdomains\xyz">
Options Indexes FollowSymLinks
AllowOverride all
Order Deny,Allow
Deny from all
Allow from all
</directory>
</VirtualHost>
Вы не совсем правильно подходите к этому.
ServerName и ServerAlias в некоторой степени избыточны. ServerName предоставляет «основное» имя виртуального хоста, которое идентифицирует его там, где это требуется. ServerAlias предоставляет другие имена, которые соответствуют виртуальному хосту.
ServerName также не обязательно должно быть фактическим именем хоста (с полным доменным именем) сервера. Он может быть произвольным, а может быть разным для всех ваших виртуальных хостов.
Предполагая, что вы используете www.localhost.com
получить доступ к одному серверу и www.xyz.localhost.com
чтобы получить доступ к другому, вы можете просто использовать localhost.com
и xyz.localhost.com
для параметра ServerName и оставьте те же подстановочные знаки. Однако имейте в виду, что xyz.localhost.com
затем перейдет к тому из этих виртуальных хостов, который появится первым (имя файла которого идет первым в лексическом порядке).
В качестве примечания не используйте доменные имена, которые вам не принадлежат. Если вы намереваетесь скрыть реальный домен в целях документации, используйте example.net
.