Bitnami上的虚拟主机子域指向同一页面

时间:2014-01-02 05:34:43

标签: apache subdomain virtualhost

我想在Apache服务器(运行Bitnami Wamp Stack)中创建指向不同文件夹的两个子域,以便输入“codeigniter.example.com”显示“\ frameworks \ codeigniter”中的内容\ htdocs“和”codeignitertwo.example.com“显示”\ frameworks \ codeignitertwo \ htdocs“。

我的配置如下,“bitnami-apps-vhosts.conf”包括框架的虚拟主机:

Include "/frameworks/codeigniter/conf/httpd-vhosts.conf"
Include "/frameworks/codeignitertwo/conf/httpd-vhosts.conf"

第一个域中的httpd-vhosts.conf文件包含:

NameVirtualHost *:80

<VirtualHost *:80>
  ServerName codeigniter.example.com
  ServerAlias codeigniter.example.com
  DocumentRoot "/frameworks/codeigniter/htdocs"
  <Directory "/frameworks/codeigniter/htdocs">
    Options +MultiViews
    AllowOverride None

    <IfVersion < 2.3 >
    Order allow,deny
    Allow from all
    </IfVersion>
    <IfVersion >= 2.3>
    Require all granted
    </IfVersion>

  </Directory>
</VirtualHost>

虽然来自第二个域的httpd-vhosts.conf文件包含(它几乎相同):

NameVirtualHost *:80

<VirtualHost *:80>
  ServerName codeignitertwo.example.com
  ServerAlias codeignitertwo.example.com
  DocumentRoot "/frameworks/codeignitertwo/htdocs"
  <Directory "/frameworks/codeignitertwo/htdocs">
    Options +MultiViews
    AllowOverride None

    <IfVersion < 2.3 >
    Order allow,deny
    Allow from all
    </IfVersion>
    <IfVersion >= 2.3>
    Require all granted
    </IfVersion>

  </Directory>  
</VirtualHost>

这两个子域名都是在hosts文件上正确创建的(我正在localhost上测试):

127.0.0.1       localhost
127.0.0.1       codeigniter.example.com
127.0.0.1       codeignitertwo.example.com

当我访问“codeigniter.example.com”时,正确的页面加载但是当访问“codeignitertwo.example.com”时,第一个子域加载,就像DocumentRoot是“/ frameworks / codeigniter / htdocs”一样。为什么会这样?我做错了什么?

更新:我在每次更改后重新启动Apache服务。

感谢。

1 个答案:

答案 0 :(得分:1)

最后我解决了!

对于尝试使用Framework (如Codeigniter和CakePHP)创建虚拟主机的任何人的建议,如果你完全确定你做了正确的虚拟主机配置,那么你很可能在框架内面对不正确的路径变量。

解决方法实际上非常简单,请查看htdocs中的“index.php”并修复以下变量:

$ system_path,$ application_folder

此外,您可能需要对框架的配置文件夹进行一些更改。