基于Apache2名称的虚拟主机总是redirect301

我有一个Apache 2.2服务器(运行Debian Squeeze),有4个站点在那里运行。 我使用基于名称的虚拟主机,因为我有一个IP。 Webmin已经完成了初始configuration,可能有些东西已经搞乱了。

firstdomain.com是我的默认域,并正常工作,seconddomain.com是另一个正在工作的网站。 现在我想添加lastdomain.tk作为一个新的网站,所以我做了这个configuration文件:

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)我redirect到firstdomain.com 301redirect

lastdomain.tk和www.lastdomain.tk都是指向我的IP地址的DNSlogging。

奇怪的是,如果更改了lastdomain.tk的DocumentRoot

  DocumentRoot /home/server/Condivisione/RAID/Sito_SecondDomain 

我正确地看到seconddomain.com内容没有被redirect(lastdomain.tk显示在地址栏上)

这些是我正在使用的其他configuration。

 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 

默认configuration文件的内容是

 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> 

第二个域configuration文件的内容是

 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 

有人知道发生了什么吗?

谢谢你,弗朗切斯科

更新

即使我使用一个子目录,它也是301redirect,就像我导航到

 lastdomain.tk/install 

我被redirect到

 firstdomain.com/install 

你的问题似乎有点过分,但我得到你的问题一般你想要的东西的想法。 这个问题可能是由于你没有在/home/server/Condivisione/RAID/ for lastdomain.tk中创build一个文件夹。 你可以通过mkdir /home/server/Condivisione/RAID/lastdomain.tk

当你创build了lastdomain.tkconfiguration时,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 

创build完成后,请确保您转到虚拟服务器(对于lastdomain.tk),然后单击networking和地址,然后设置:

 Alternate virtual server names: www.lastdomain.tk Server admin email address: [email protected] 

一旦完成,回头到你的虚拟服务器,并点击别名和redirect,并确保Permanent URL redirects (代码301)下没有设置。 如果有,请将其删除。

毕竟, select应用更改。

如果你仍然有这个问题, 评论,我会尽力回复你。

希望这有助于和DFTBA。 🙂