Имя сервера
в ваших файлах конфигурации Apache не нужно повторять, так как каждая последующая строка заменяет предыдущие.
Вместо этого вы можете использовать Имя сервера
с Псевдоним сервера
как это:
имя_сервера
Псевдоним сервера jekyll.local *.jekyll *.jekyll.local
Обратите внимание, что это нелогично:
127.0.0.1 локальный/джекил
127.0.0.1 локальный/другой-сайт
Это не домены (или субдомены), а пути под локальный хост
. В результате только локальный хост
будет наблюдаться. Вот почему я не включил его в конфигурацию Apache, как указано выше.
Итак, имея это в виду, вы можете иметь три Файлы конфигурации Apache:
¢ 000-jekyll.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName jekyll
ServerAlias jekyll.local *.jekyll *.jekyll.local
DirectoryIndex index.html
DocumentRoot /var/www/jekyll/_site
LimitRequestFieldSize 48000
<Directory /var/www/jekyll/_site>
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/jekyll-error.log
CustomLog ${APACHE_LOG_DIR}/jekyll-access.log combined
</VirtualHost>
¢ 001-другое.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName other-site
ServerAlias other-site.local *.other-site *.other-site.local
DirectoryIndex index.html
DocumentRoot /var/www/other-site/_site
LimitRequestFieldSize 48000
<Directory /var/www/other-site/_site>
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/other-error.log
CustomLog ${APACHE_LOG_DIR}/other-access.log combined
</VirtualHost>
¢ 999-default.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName localhost
ServerAlias *.localhost * *.*
DirectoryIndex index.html
DocumentRoot /var/www
LimitRequestFieldSize 48000
<Directory /var/www>
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/local-error.log
CustomLog ${APACHE_LOG_DIR}/local-access.log combined
</VirtualHost>
Apache обрабатывает трафик в соответствии с порядком файлов конфигурации. Таким образом, любой домен, соответствующий указанным в 000-jekyll.conf
будет обрабатываться этим файлом. Если совпадений не найдено, то 001-другое.conf
будет проверено. Если совпадений не найдено, то 999-default.conf
будет использован. Обратите внимание Псевдоним сервера
в 999-default.conf
файл и как он полагается на широко открытые подстановочные знаки. Это означает, что он будет рассматриваться как универсальный для трафика, который не соответствует определенным файлам конфигурации.
Примечание: Файлы конфигурации Apache были упрощены, чтобы исключить ненужные Каталог
блоки и чтобы каждый хост использовал свои собственные журналы ошибок.