내 아파치 2.4.12에서 여러 가상 호스트를 정의했습니다. 그들은 모두 포트 80에서 청취하고 있지만 다른 이름을 가지고 있습니다. 문제는 내가 2 개의 약간 비슷한 가상 호스트를 가지고 있으며 두 번째 가상 호스트에 액세스하려고 시도 할 때 첫 번째 가상 호스트가로드된다는 것입니다. 문제는 무엇이 될 수 있습니까?
escr.dev 호스트
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName escr.dev
ServerAlias www.escr.dev
DocumentRoot /var/www/escr.dev/application/web/
<Directory /var/www/escr.dev/application/web/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/escr.dev-error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/escr.dev-access.log combined
</VirtualHost>
esca.dev 호스트
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName esca.dev
ServerAlias www.esca.dev
DocumentRoot /var/www/esca.dev/public/
<Directory /var/www/esca.dev/public/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/esca.dev-error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/esca.dev-access.log combined
</VirtualHost>
그래서 “esca.dev”에 액세스 할 때 대신 “escr.dev”호스트를로드하고 있습니다.
답변
“NameVirtualHost”지시어를 활성화 했습니까?
httpd.conf에서 다음 내용의 주석 처리를 제거해야합니다.
NameVirtualHost *:80
이 지시문은 이름 기반 가상 호스트로 작업 할 때 필요합니다.