我有一台使用 Apache 2.2 的服务器(运行 Debian Squeeze),上面有 4 个站点在运行。我使用基于名称的虚拟主机,因为我只有一个 IP。初始配置已使用 Webmin 进行,可能有些地方出了问题。
firstdomain.com 是我的默认域名,并且运行正常,seconddomain.com 是另一个正常运行的网站。现在我想将 lastdomain.tk 添加为新网站,因此我创建了这个配置文件:
root@webamp:/etc/apache2# cat sites-available/lastdomain.tk.conf
<VirtualHost *:80>
DocumentRoot /home/server/Condivisione/RAID/lastdomain.tk
ServerName www.alazanes.tk
ServerAlias alazanes.tk
</VirtualHost>
我已将其添加到已启用的站点并重新启动了 apache。 问题是,如果我访问 lastdomain.tk(或 www.lastdomain.tk),我会被重定向到 firstdomain.com 并进行 301 重定向。
lastdomain.tk 和 www.lastdomain.tk 都是指向我的 IP 地址的 A DNS 记录。
奇怪的是,如果将 lastdomain.tk 的 DocumentRoot 更改为
DocumentRoot /home/server/Condivisione/RAID/Sito_SecondDomain
我无需重定向即可正确看到 seconddomain.com 的内容(lastdomain.tk 显示在地址栏上)
这些是我正在使用的其他配置。
root@webamp:/root# source /etc/apache2/envvars ; /usr/sbin/apache2 -S
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:443 webamp.firstdomain.com (/etc/apache2/sites-enabled/ssl.bbteam:1)
*:80 is a NameVirtualHost
default server firstdomain.com (/etc/apache2/sites-enabled/000-default:7)
port 80 namevhost firstdomain.com (/etc/apache2/sites-enabled/000-default:7)
port 80 namevhost www.lastdomain.tk (/etc/apache2/sites-enabled/lastdomain.tk.conf:1)
## other domains ##
port 80 namevhost seconddomain.com (/etc/apache2/sites-enabled/seconddomain.com.conf:1)
Syntax OK
默认配置文件的内容是
root@webamp:/etc/apache2# cat sites-available/default
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName firstdomain.com
ServerAlias www.firstdomain.com direct.firstdomain.com
DocumentRoot /home/server/Condivisione/RAID/Sito_Web_Apache_su_80
ErrorLog /var/log/apache2/error.log
LogLevel warn
CustomLog /var/log/apache2/access.log combined
</VirtualHost>
第二个域配置文件的内容是
root@webamp:/etc/apache2# cat sites-available/seconddomain.com.conf
<VirtualHost *:80>
DocumentRoot /home/server/Condivisione/RAID/Sito_SecondDomain
ServerName seconddomain.com
ServerAlias www.seconddomain.com direct.seconddomain.com
#redirect 301 / http://www.seconddomain.com/
<Directory "/home/server/Condivisione/RAID/Sito_SecondDomain">
allow from all
Options +Indexes
</Directory>
</VirtualHost>
可能是文件权限问题?
root@webamp:/root# ls -lh /home/server/Condivisione/RAID/
total 7.1M
drwxrwxr-x 15 www-data server 4.0K Jun 5 13:29 Sito_SecondDomain
drwxrwxrwx 23 server server 4.0K Jun 7 16:22 Sito_Web_Apache_su_80
drwxrwxr-x 17 www-data server 4.0K Jun 8 09:56 lastdomain.tk
有人知道发生了什么事吗?
谢谢,弗朗西斯科
更新
即使我使用子目录,它也会被 301 重定向,例如如果我导航到
lastdomain.tk/install
我被重定向到
firstdomain.com/install
答案1
您的问题似乎有点过分,但我大致知道您在寻找什么。问题可能是由于您没有/home/server/Condivisione/RAID/
为 lastdomain.tk 创建文件夹。您可以通过 进行创建mkdir /home/server/Condivisione/RAID/lastdomain.tk
。
当您创建 lastdomain.tk 配置时,webmin 应该看起来像:
Handle connections to address -- Any Address
Add name virtual server address (if needed) -- Checked
Listen on address (if needed) -- Checked
Port -- 80
Document Root -- /home/server/Condivisione/RAID/lastdomain.tk
Allow Access to this directory -- Checked
Server Name -- lastdomain.tk
Add virtual server to file -- New file under virtual servers directory /etc/apache2/sites-available
Copy directives from -- Nowhere
创建后,请确保转到虚拟服务器(用于 lastdomain.tk)并单击网络和地址并设置:
Alternate virtual server names: www.lastdomain.tk
Server admin email address: [email protected]
完成后,返回虚拟服务器并单击“别名和重定向”,确保Permanent URL redirects
(Code 301) 下没有设置任何内容。如果有,请将其删除。
完成所有这些之后,选择“应用更改”。
如果您仍然遇到此问题,请发表评论,我会尽力回复您。
希望这对 DFTBA 有帮助。:)