这是我的情况:
- 客户为其网站购买了域名 www.site.com!
- 我在 /var/www/hosts/www.site.com.war 文件夹中配置了一个新站点。
- 客户要求我配置 Apache 服务器(实时服务器)以执行以下操作:
- 如果请求“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>
此配置仅为 URL 请求“www.site.com”和“live.site.com”提供对新站点的密码保护访问,这不是我需要做的。
我还尝试使用不同的 RewriteRule-s:“www.site.com”、“. ”、“^/(. )&”、使用 L 标志等;省略 RewriteCond 等。
我想知道,是否可以按照我的客户要求配置 Apache 服务器?如果是,我在 Apache 配置中做错了什么?
谢谢你。