首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从一个虚拟主机内部重定向到另一个Apache

如何从一个虚拟主机内部重定向到另一个Apache
EN

Server Fault用户
提问于 2015-10-21 09:16:42
回答 1查看 1.3K关注 0票数 1

我正在将我的应用程序升级到新的PHP版本。

为此,我创建了两个虚拟主机,一个是服务器PHP5.3应用程序,另一个是PHP5.6。

我的虚拟主机就像,

代码语言:javascript
复制
<VirtualHost *:80>
  ServerName php53app.com 
  DocumentRoot /var/www/php_53/public 
  <Directory />
   Options FollowSymLinks
   AllowOverride All
   AddHandler php-cgi .php
   Action php-cgi /cgi-bin-php/php-cgi-5.3.0
  </Directory>
  ErrorLog /var/log/apache2/error.log
  LogLevel warn
  CustomLog /var/log/apache2/access.log combined
</VirtualHost>

代码语言:javascript
复制
<VirtualHost *:80>
  ServerName php56app.com 
  DocumentRoot /var/www/php_56/public 
  <Directory />
   Options FollowSymLinks
   AllowOverride All
   AddHandler php-cgi .php
   Action php-cgi /cgi-bin-php/php-cgi-5.6.0
  </Directory>
  ErrorLog /var/log/apache2/error.log
  LogLevel warn
  CustomLog /var/log/apache2/access.log combined
</VirtualHost>

我正计划用url迁移每个url。

例如,

:

当我将/login迁移到新应用程序时,它应该显示php53app.com/login而不是php56app.com/login

因此,我的需要是服务于同一域名的所有URL,无论是新的还是旧的。有没有可能使用apache的mod重写之类的方法?

EN

回答 1

Server Fault用户

回答已采纳

发布于 2015-10-21 10:44:53

重写并不是真正的出路。您应该使用代理请求。

来自mod_proxy文档:

此外,反向代理可以简单地用于将多个服务器带入相同的URL空间。

您的设置将如下所示:

代码语言:javascript
复制
<VirtualHost *:80>
    ServerName php53app.com 
    DocumentRoot /var/www/php_53/public

    # General proxy config ... do not skip
    <Proxy *>
        AddDefaultCharset off
        Order deny,allow
        Allow from all
    </Proxy>

    # now proxy the migrated part
    <Location /login>
        ProxyPass           http://php56app.com/login
        ProxyPassReverse    http://php56app.com/login
    </Location>

    <Directory />
        Options FollowSymLinks
        AllowOverride All
        AddHandler php-cgi .php
        Action php-cgi /cgi-bin-php/php-cgi-5.3.0
    </Directory>
    ErrorLog /var/log/apache2/error.log
    LogLevel warn
    CustomLog /var/log/apache2/access.log combined
</VirtualHost>

当然,可以通过重写来实现代理,但是这种方式更加明确,允许对选项进行更精细的控制。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/730503

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档