设置Apache2虚拟主机和AllowOverride

时间:2015-07-16 16:00:47

标签: apache subdomain virtualhost

我正在尝试安装wordpress和另一个名为learninglocker的应用程序。每个目录分别位于自己的目录/var/www/html/wordpress//var/www/html/learninglocker/中。我一直试图获得以下三种行为:

  1. domain.com指向wordpress
  2. wordpress.domain.com指向wordpress
  3. learninglocker.domain.com指向learnlocker
  4. 我的问题是在learnlocker安装中它指定将以下属性添加到虚拟主机:AllowOverride All,因此我得到以下行为:

    1. domain.com指向学习储物柜
    2. wordpress.domain.comdomain.com/wordpress在studentlocker应用程序结构中为我提供了一个404
    3. 以下是我对每个虚拟主机所拥有的内容:

      WordPress的

      <VirtualHost *:80>
        ServerName domain.com
        ServerAlias wordpress.domain.com
        ServerAdmin user@email.com
        DocumentRoot /var/www/html/wordpress
      
        ErrorLog ${APACHE_LOG_DIR}/wordpress/error.log
      </VirtualHost>
      

      LearningLocker

      <VirtualHost *:80>
        ServerName domain.com
        ServerAlias learninglocker.domain.com
        ServerAdmin user@email.com
        DocumentRoot /var/www/html/learninglocker/public
      
        <Directory /var/www/html/learninglocker/>
          AllowOverride All
        </Directory>
      
        ErrorLog ${APACHE_LOG_DIR}/learninglocker/error.log
      </VirtualHost>
      

      我是使用VirtualHosts / DNS的新手,所以我需要noobie级别的帮助

1 个答案:

答案 0 :(得分:0)

您的两个虚拟主机都列出了domain.com作为ServerName。这将导致在您访问服务器时选择随机主机,这不是您想要的。您应该分别使用ServerName wordpress.domain.comServerName learninglocker.domain.com,暂时抛弃ServerAlias指令。