Ton*_*ony 4 linux virtualhost apache-2.2
我有一个带有 vhosts conf 的服务器,如下所示:
NameVirtualHost *:80
# My Virtual Hosts:
<VirtualHost *:80>
ServerAdmin admin@email.com
ServerName domain
DirectoryIndex index.php index.html
DocumentRoot /var/www/domain/public
# Custom log file locations
LogLevel warn
ErrorLog /var/www/domain/log/error_log
CustomLog /var/www/domain/log/access_log combined
<Directory "/var/www/dailysongfix/public">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
典型的 vhost conf 对吗?好吧,我还需要在服务器上开发一些其他站点,而这些站点还没有与它们关联的域。如何在没有域指向它们的情况下查看它们?我猜可能是 IP 地址和端口,但不确定如何设置。
如果要使用命名虚拟主机,则需要为服务器分配一些名称。在您的示例中,主机将按名称domain(来自ServerName domain指令)寻址。您可以尝试通过执行类似操作直接通过 IP 地址联系您的服务器,http://123.45.67.89/但这不会导致 Apache 触发指定的虚拟主机。为此,您需要/etc/hosts在客户端上的文件中添加如下内容:
123.45.67.89 域
然后,您应该可以http://domain/在浏览器中使用。这会在本地设置名称和 IP 地址之间的映射,而不必弄乱 DNS。
其工作方式是,当浏览器向服务器发送 HTTP 请求时,它会//在Host:标头中的 URL之后包含它使用的任何文本。Apache 在Host:标头中获取此文本,并将其与ServerName每个命名虚拟主机中的值进行匹配。当它找到匹配项时,它会将其用作服务器来处理请求的其余部分。Apache不没有需要查找的主机名和IP地址,这就是为什么这个作品,如果你只改变客户端机器配置之间的映射。