Apache站点重定向配置

Apache站点重定向配置,apache,mod-rewrite,redirect,url-rewriting,virtualhost,Apache,Mod Rewrite,Redirect,Url Rewriting,Virtualhost,这就是我的情况: 客户为他们的网站购买了一个域名,www.site.com 我在/var/www/hosts/www.site.com.war文件夹中配置了一个新站点 客户端请求我配置Apache服务器(Live server)以执行以下操作: 如果请求“live.site.com”URL,则允许访问创建的站点,并提供密码保护。这是标准的“上线前”程序,它要求被邀请的客户端配置其主机文件(“live_server_IP”和“live.site.com”) 如果请求“www.site.com”

这就是我的情况:

  • 客户为他们的网站购买了一个域名,www.site.com
  • 我在/var/www/hosts/www.site.com.war文件夹中配置了一个新站点
  • 客户端请求我配置Apache服务器(Live server)以执行以下操作:
    • 如果请求“live.site.com”URL,则允许访问创建的站点,并提供密码保护。这是标准的“上线前”程序,它要求被邀请的客户端配置其主机文件(“live_server_IP”和“live.site.com”)
    • 如果请求“www.site.com”URL,则重定向到其他域页面“www.othersite.com/page.jsp”
这是我的配置:

<VirtualHost *:80>
    ServerName www.site.com
    DocumentRoot /var/www/hosts/www.site.com.war/

    ExpiresActive On
    ExpiresByType image/gif A2592000
    ExpiresByType image/jpeg A2592000
    ExpiresByType image/png A2592000

    JkMount /*.jsp xyz
    JkMount /*.xml xyz

    #RewriteEngine on
    #RewriteCond %{HTTP_HOST} www.site.com

    #RewriteRule ^(.*)$www.site.com(.*)& http://www.othersite.com/page.jsp [R=301]

    # Remove this password protection after go-live
    <Directory /var/www/hosts/www.site.com.war/ >
          AuthType Basic
          AuthName "By Invitation Only"
          AuthUserFile /etc/httpd/conf/site.htpasswd

          require valid-user
    </Directory>
</VirtualHost>


# For internal company use
<VirtualHost *:80>
    ServerName live.site.com

    ProxyPass / http://www.site.com/
    ProxyPassReverse / http://www.site.com/
</VirtualHost>

服务器名www.site.com
DocumentRoot/var/www/hosts/www.site.com.war/
过期于
ExpiresByType图像/gif A2592000
过期按类型图像/jpeg A2592000
ExpiresByType图像/png A2592000
JkMount/*.jsp xyz
JkMount/*.xml xyz
#重新启动发动机
#重写cond%{HTTP_HOST}www.site.com
#重写规则^(.*)$www.site.com(.*)和http://www.othersite.com/page.jsp [R=301]
#上线后删除此密码保护
AuthType Basic
AuthName“仅受邀请”
AuthUserFile/etc/httpd/conf/site.htpasswd
需要有效用户
#供公司内部使用
ServerName live.site.com
ProxyPass/http://www.site.com/
ProxyPassReverse/http://www.site.com/
此配置仅为URL请求“www.site.com”和“live.site.com”提供对新站点的密码保护访问,我不需要这样做

我还试着使用不同的重写规则:“www.site.com”,“^/(.)和”,使用L标志,等等。;省略重写等

我想知道,是否可以按照客户机的要求配置Apache服务器?如果是,我在Apache配置中做错了什么


谢谢。

两个不同的站点可以共享同一个文档根目录。不需要代理等等,只要让
live
版本共享同一个文档根即可。不,这不起作用。因为当我将DocumentRoot添加到live版本时,重定向会正常工作,但当访问live URL Index.jsp时,我会收到“404页面错误”。这是因为所有JBoss配置都包含www.site.com值,或者至少我认为这就是原因。