Tôi đã có một vài trang web được định cấu hình là Virtualhosts bằng Apache đã hoạt động tốt trong một thời gian. Gần đây tôi đã thay đổi tên máy chủ của máy chủ thành một trong những tên miền đang được phục vụ và cũng đã thêm nó vào / etc / hosts chỉ vào địa chỉ IP bên ngoài của máy chủ.
Vì tôi đã làm điều đó, việc truy cập tên miền từ máy tính xách tay của tôi đưa tôi đến mặc định "Nó hoạt động!" trang. Nếu tôi xóa 000 mặc định khỏi / etc / apache2 / sites-enable /, nó sẽ hiển thị đúng trang web. Đang cố gắng truy cập trang web với 'www.' tiền tố đưa tôi đến đúng trang web cho dù có mặc định 000 hay không trong trang web được kích hoạt.
Dựa trên tất cả những điều đó, tôi đoán rằng cấu hình mặc định đang phục vụ trang mặc định vì cách tôi đã định cấu hình tên máy chủ hoặc / etc / hosts (hoặc cả hai), nhưng tôi không thể tìm ra cách tắt nó trong khi để lại các cài đặt như chúng là. Mọi góp ý đều được chào đón!
Chỉnh sửa - Cấu hình Virtualhost hiện tại của tôi trông như thế này:
<VirtualHost *:80>
ServerName domain.com
ServerAlias www.domain.com
ServerAdmin me@domain.com
DocumentRoot /srv/www/domain
ErrorLog /srv/www/domain/logs/error.log
CustomLog /srv/www/domain/logs/access.log combined
</VirtualHost>
Tóm lại: Tôi có một số Virtualhost được thiết lập và đây là cái duy nhất không hoạt động đúng. Tôi có thể truy cập http://www.domain.com tốt, nhưng http://domain.com đưa tôi đến mặc định "Nó hoạt động!" Của Apache trang. Nếu tôi tắt cấu hình 000 mặc định, nó sẽ hiển thị trang thích hợp. Điều này chỉ bắt đầu xảy ra sau khi tôi đặt tên máy chủ của máy chủ thành domain.com và thêm một dòng vào / etc / hosts trỏ domain.com vào địa chỉ IP bên ngoài của máy chủ. Tôi muốn rời khỏi đó nếu có thể.
Chỉnh sửa: Tôi đã chạy apache2ctl -S
kể từ khi /usr/sbin/apache2 -S
đưa cho tôi "apache2: tên người dùng xấu $ {APACHE_RUN_USER}". Đây là đầu ra:
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80 is a NameVirtualHost
default server domain.com (/etc/apache2/sites-enabled/000-default:1)
port 80 namevhost domain.com (/etc/apache2/sites-enabled/000-default:1)
port 80 namevhost other.com (/etc/apache2/sites-enabled/other:1)
port 80 namevhost another.com (/etc/apache2/sites-enabled/another:1)
port 80 namevhost domain.com (/etc/apache2/sites-enabled/domain:1)
Syntax OK