当我输入
cat /etc/apache2/sites-enabled/*
我懂了
<VirtualHost *:80>
ServerName myserver
DocumentRoot /var/www/
</VirtualHost>
<VirtualHost *:80>
ServerName www.mydomain1.net
DocumentRoot /var/www/www.mydomain1.net/public/
</VirtualHost>
<VirtualHost *:80>
ServerName mydomain1.net
RedirectMatch permanent ^/(.*) http://www.mydomain1.net/$1
</VirtualHost>
<VirtualHost *:80>
ServerName www.yasser.com
DocumentRoot /var/www/www.mydomain2.com/public/
</VirtualHost>
<VirtualHost *:80>
ServerName mydomain2.com
RedirectMatch permanent ^/(.*) http://www.mydomain2.com/$1
</VirtualHost>
当我浏览 mydomain1.com 和 mydomain2.com 时,我看到来自“myserver”的内容,它是目录列表/var/www
。
我在这里做错了什么?
这里还有输出apachectl -S
:
*:80 is a NameVirtualHost
default server myserver (/etc/apache2/sites-enabled/myserver:1)
port 80 namevhost myserver (/etc/apache2/sites-enabled/myserver:1)
port 80 namevhost www.mydomain1.net (/etc/apache2/sites-enabled/www.mydomain1.net:1)
port 80 namevhost mydomain1.net (/etc/apache2/sites-enabled/www.mydomain1.net:6)
port 80 namevhost www.mydomain2.com (/etc/apache2/sites-enabled/www.mydomain2.com:1)
port 80 namevhost mydomain2.com (/etc/apache2/sites-enabled/www.mydomain2.com:6)
答案1
首先,请使用
Redirect permanent / http://www.example.org/
当进行重定向时一切。
还要确保全部您的 vhostsServerName
和ServerAlias
es 均在服务器和客户端上正确解析。
你也可以发布输出
curl -Lv http://example.com/
这样我们就能清楚看到到底发生了什么?