在默认主机是http://JonathansCorner.com的服务器上,我正在尝试为http://media.pragmatometer.com设置一个VirtualHost。 但是,Apache2的站点已启用的目录中的任何注册域都不会从目标服务器上获取。
VirtualHost定义如下:
<VirtualHost *:80> ServerName media.pragmatometer.com ServerAlias media.ccachicago.pragmatometer.com DocumentRoot /home/jonathan/ccachicago/media <Directory "/home/jonathan/ccachicago/media/"> Options Indexes MultiViews FollowSymLinks AllowOverride None #Order deny,allow #Deny from all #Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory> ServerAdmin [email protected] </VirtualHost>
还有什么我应该添加? 我查了一下,没有其他的VirtualHosts回答http://media.pragmatometer.com或http://media.ccachicago.pragmatometer.com 。
我可以添加什么,所以前面提到的URL从上面的DocumentRoot拉?
– 编辑 –
默认的VirtualHost的configuration如下:
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /home/jonathan/mirror <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /home/jonathan/> Options ExecCGI Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> DirectoryIndex index.cgi index.html ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory> ErrorDocument 404 /missing.html ErrorDocument 500 /servererror.html ErrorLog ${APACHE_LOG_DIR}/error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined Alias /doc/ "/usr/share/doc/" <Directory "/usr/share/doc/"> Options Indexes MultiViews FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 </Directory> </VirtualHost>
请尝试在您的configuration中尝试基于IP的虚拟主机,如下所示
NameVirtualHost IP-ADDR:80 <VirtualHost IP-ADDR:80> ServerName first.domain.com ... ... </VirtualHost> <VirtualHost IP-ADDR:80> ServerName second.domain.com ... ... </VirtualHost>
最佳匹配的虚拟主机集合的基于名称的虚拟主机按照它们在configuration中出现的顺序进行处理。 使用第一个匹配的ServerName或ServerAlias,对于通配符没有不同的优先级(ServerName和ServerAlias也是如此)。
如果VirtualHost没有指定ServerName,则将从基本服务器configurationinheritance服务器名称。 如果全局未指定服务器名称,则通过第一个侦听地址的反向DNSparsing启动时检测到一个。 无论哪种情况,这种inheritance的服务器名称都会影响基于名称的虚拟主机parsing,所以最好总是在每个基于名称的虚拟主机中明确列出一个ServerName。