0

我需要重写domain.comwww.domain.com使用清漆。我已经为 Nginx 做到了。但不知道如何用清漆做。

让我解释一下我为什么要这样做,如果我的方法是错误的,请纠正我。每当我访问网站时,domain.com我都会有一个带有 path 的 cookie .domain.com。每当我点击路径时,www.domain.com它都会创建一个带有路径的新 cookie.www.domain.com 现在,同一用户的这两个 cookie 正在创建会话问题。

我希望如果我的服务器只收到这样的请求,www.domain.com那么将没有与相关的 cookie 范围domain.com

所以理想情况下,问题是,重写是一种好方法吗?如果是,那么如何用清漆做到这一点,我已经尝试过使用 Nginx 但没有运气。

任何指导都深表感谢。多谢你们。

4

1 回答 1

2

回答“重写”部分(请参阅评论,因为这可能更容易),您有两个选择:

  1. 执行客户端重定向(首选恕我直言)[a]
  2. 在内部重写主机 [b]

也可以看看:

[一种]

sub vcl_recv {
  // ...
  if ( req.http.host == "domain.com" ) {
    error 750 "http://www." + req.http.host + req.url;
  }
  // ...
}

sub vcl_error {
  // ...
  if (obj.status == 750) {
    set obj.http.Location = obj.response;
    # Set HTTP 301 for permanent redirect
    set obj.status = 301;
    return(deliver);
  }
  // ...
}

[乙]

sub vcl_recv {
  // ...
  if ( req.http.host == "domain.com" ) {
    set req.http.host = "http://www." + req.http.host;
  }
  // ...
}
于 2013-11-05T09:18:35.920 回答