The Numele serverului Atributul din fișierele de configurare Apache nu trebuie repetat, deoarece fiecare linie ulterioară le va înlocui pe cele anterioare.
În schimb, puteți folosi Numele serverului cu ServerAlias ca aceasta:
ServerNume jekyll
ServerAlias jekyll.local *.jekyll *.jekyll.local
Rețineți că acest lucru este ilogic:
127.0.0.1 localhost/jekyll
127.0.0.1 localhost/alt-site
Acestea nu sunt domenii (sau subdomenii), ci căi sub gazdă locală. Ca urmare, numai gazdă locală vor fi observate. Acesta este motivul pentru care nu l-am inclus în configurația Apache, așa cum s-a menționat mai sus.
Deci, având în vedere acest lucru, puteți avea Trei Fișiere de configurare 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-altul.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 procesează traficul în funcție de ordinea fișierelor de configurare. Deci orice domeniu care se potrivește cu cele specificate în 000-jekyll.conf va fi gestionat de acel dosar. Dacă nu se găsesc potriviri, atunci 001-altul.conf vor fi verificate. Dacă nu se găsesc potriviri, atunci 999-default.conf va fi folosit. Rețineți că ServerAlias în 999-default.conf fișier și modul în care se bazează pe metacaracterele larg deschise. Acest lucru înseamnă că va fi tratat ca un catch-all pentru traficul care nu se potrivește cu fișierele de configurare definite.
Notă: Fișierele de configurare Apache au fost simplificate pentru a elimina irelevante Director blocuri și pentru ca fiecare gazdă să folosească propriile lor jurnalele de erori.