我怎样才能将http://example.com虚拟指向apache服务器中的http://ex2.com/example?

时间:2014-08-27 10:57:00

标签: apache .htaccess virtualhost

我正在处理CMS - 主要是定制作品。一次安装CMS可以处理多个站点。

现在在apache服务器上部署安装程序时 - 我遇到了一些问题。 我的CMS设置位于http://ex2.com,其中的网站类似于/example/process等。因此,如果我点击http://ex2.com/example,我会收到第一个网站。

我的要求是找到一种方法,以便我可以通过http://example.com [不一定是有效的域 - 它可以是虚拟的]来获取第一个站点(例如)。

因此,使用virtualhosthtaccess - 我需要将http://example.com指向http://ex2.com/example

这可能吗?我正在使用apache2.4

1 个答案:

答案 0 :(得分:1)

使用mod_proxyvirtualhost解决了此问题。

在我的/etc/hosts文件中 - 定义了指定的虚拟主机名,如:

127.0.2.1   example.com www.example.com
127.0.2.2   process.com www.process.com

然后在我的/etc/apache/sites-available/ex.conf文件中编写了以下虚拟主机定义:

<VirtualHost 127.0.2.1:80>
  ServerName example.com
  ServerAlias example.com www.example.com 

    <location />
        ProxyPass http://ex2.com/example/
        ProxyPassReverse http://ex2.com/example/
        Order allow,deny
        Allow from all
    </location>
</VirtualHost>


<VirtualHost 127.0.2.2:80>
  ServerName process.com
  ServerAlias process.com www.process.com 

    <location />
        ProxyPass http://ex2.com/process/
        ProxyPassReverse http://ex2.com/process/
        Order allow,deny
        Allow from all
    </location>
</VirtualHost>

通过conf命令启用sudo a2ensite ex文件并重启apache后 - 宾果!我得到了我想要的东西。

谢谢参加此活动的人。