我必须在某些逻辑上运行多个网站版本。比如说,对于2014年1月以后注册的所有用户,我必须展示较新版本的网站,对于较老的用户,我必须显示我的网站的旧版本。在一些php逻辑后面运行多个网站版本
Web服务器:用于静态内容的nginx和用于动态内容的apache。
平台:php,mysql和linux
对于用户来我的网站,我必须检查注册日期,并相应地将用户重定向到相应的网站版本。但是我想阻止这种额外的重定向。
使用cookie,代理或其他方法可能会发生同样的情况吗?
问题陈述:
我已经改组我的网站。我希望我的翻新网站只会显示给新的注册用户。对于现有的用户,旧版本将继续。两个网站版本的Web根目录都不相同。
nginx的配置:
server {
listen 80;
server_name example.com;
location/
{
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-FORWARDED_PROTO https;
set $cookie_redirect 0;
if ($http_cookie ~ 'ver=1') {
set $cookie_redirect 1;
}
if ($cookie_redirect ~ 1) {
proxy_pass http://127.0.0.1:6060;
}
if ($cookie_redirect ~ 0) {
proxy_pass http://127.0.0.1:7070;
}
}
apache配置:
<VirtualHost *:6060>
DocumentRoot /var/www/dir1
ServerName example.com
</VirtualHost>
<VirtualHost *:7070>
DocumentRoot /var/www/dir2
ServerName example.com
</VirtualHost>
但如果cookie被设置它将工作。对于第一次来的用户,我必须根据注册日期设置Cookie。这样我就可以向新用户展示改造后的网站。初次使用者可能如何?
你能告诉我们关于这两个网站应该如何运作的一些事情吗?页面之间是否有重叠?他们在不同的目录?你如何检查注册日期?你使用cookies /会话吗?他们持续多久?等Cookie可能是一种可能性,但我们需要更多关于您网站的信息。 – 2014-09-22 09:46:59
修改后的问题。页面之间没有重叠。这两个版本的Web根目录是不同的。 – 2014-09-25 11:28:13