我在 sites-available 和 sites-enabled 中都有这个虚拟主机文件。我的域名正在重定向回这里,但它转到了错误的 /var/www/dir/prod。我的域名现在是 domain.com,我刚刚在这里更改了它。有人能告诉我为什么它没有转到正确的目录吗?
<VirtualHost *:8080>
ServerAdmin webmaster@localhost
ServerName dev.domain.com
ServerAlias test.domain.com
DocumentRoot /var/www/sites/slap/dev
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/sites/slap/dev>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
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>
#ErrorLog /var/log/apache2/error.log
ErrorLog /dev/null
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /dev/null combined
</VirtualHost>
<VirtualHost *:8080>
ServerAdmin webmaster@localhost
ServerName domain.com
ServerAlias www.domain.com
DocumentRoot /var/www/sites/slap/prod
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/sites/slap/prod>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
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>
#ErrorLog /var/log/apache2/error.log
ErrorLog /dev/null
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /dev/null combined
</VirtualHost>
答案1
你重启过 Apache 吗?错误日志里有写什么吗?
答案2
httpd.conf 中是否有针对端口 8080 的 Listen 语句?如果没有,请解释一下(并且日志不会显示任何内容)
答案3
尝试以下命令:
httpd -t -D DUMP_VHOSTS
(或者可能取决于 apache 的打包方式。您使用的 sites-enabled 建议使用 debian 或 ubuntu):
APACHE_RUN_USER=www-data APACHE_RUN_GROUP=www-data apache2 -t -D DUMP_VHOSTS
这将显示虚拟主机的定义和重叠方式(哪个虚拟主机属于哪个 namevirtualhost 配置)。这可能会向您显示哪里出了问题。