我认为我现在讨厌Apache,但是在这个问题上。 这可能是我的一个configuration错误或只是我无法看到什么是正确的在我面前,但我试图在Apache中configuration一个子域,无论如何,它总是将子域redirect到networking主域的根。 我的configuration张贴在下面(是的,域名信息被有目的地修改):
<VirtualHost *> DocumentRoot /var/www/root/ ServerName example.com <Directory /var/www/root/> allow from all Options +Indexes </Directory> </VirtualHost> <Directory /usr/share/squirrelmail> Options Indexes FollowSymLinks <IfModule mod_php5.c> php_flag register_globals off </IfModule> <IfModule mod_dir.c> DirectoryIndex index.php </IfModule> # access to configtest is limited by default to prevent information leak <Files configtest.php> order deny,allow deny from all allow from 127.0.0.1 </Files> </Directory> # users will prefer a simple URL like http://webmail.example.com <VirtualHost *> DocumentRoot /usr/share/squirrelmail/ ServerName squirrelmail.example.com </VirtualHost>
您需要使用NameVirtualHost *启用基于名称的虚拟主机。 另外,我不知道这是否重要,但为什么在其VirtualHost容器之外定义了squirrelmail文档根目录?
首先:你应该缩进你的configuration,使它们更容易阅读。 也帮助你发现一些types的错误。
我不认为这是导致错误,但值得一试;) 文档说:DocumentRoot应该指定没有一个结尾的斜杠。
我在你的虚拟主机configuration中看不到错误,你说它redirect到默认域,所以我不认为这个错误是在apache的一边。 也许错误是从你指定的index.php – 你有没有设置一些默认的主机或在squirrelmailconfiguration的东西,使其redirect? 尝试通过一些文件,只是打印一些东西,并检查是否工作,以取代index.php。