У меня есть веб-сайт на localhost, отображаемый в HOSTS как:
127.0.0.1 www.yorkshiretestingwebsite.com
127.0.0.1 yorkshiretestingwebsite.com
Однако в папке (C: /www/vhosts/yorkshiretestingwebsite.com) есть несколько подпапок, а именно:
Лидс
корпус
Шеффилд
и вместо того, чтобы вводить
http://www.yorkshiretestingwebsite.com/leeds
Я хотел бы попробовать получить такой URL-адрес:
http://leeds.yorkshiretestingwebsite.com
Я искал, как это сделать в Google, но не совсем уверен, как это сделать.
Я попробовал совет здесь - https://serverfault.com/questions/235311/automatic-subdomain-creation-in-htaccess-on-apache - и это сделал работать (хорошо, если у меня всего несколько папок), но что, если у меня их несколько? Я не хочу продолжать добавлять их к нему, поэтому я пытался найти решение.
Как лучше всего этого добиться?
Вам нужно создать новый VirtualHost, который будет динамически обслуживать поддомены на основе дерева каталогов:
<VirtualHost *:80>
ServerName wildcard.yorkshiretestingwebsite.com
ServerAlias *.yorkshiretestingwebsite.com
VirtualDocumentRoot "C:/www/vhosts/yorkshiretestingwebsite.com/%1"
... (logging, permissions, etc) ...
</VirtualHost>
В %1
использует первый блок имени, поэтому leeds.yorkshiretestingwebsite.com
укажет на C:/www/vhosts/yorkshiretestingwebsite.com/leeds/
Подробнее о VirtualDocumentRoot
директиву можно найти Вот.