如果存在cookie,Nginx重定向

前端之家收集整理的这篇文章主要介绍了如果存在cookie,Nginx重定向前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我看到有一些有限的资源检查与Nginx的cookie,但我找不到我正在寻找的答案,希望你们中的一些Nginx大师可以给我一个手。

本质上我有一个vhost,我想重定向到一个不同的域,除非用户有一个cookie,这里是我创建的:

server {
  listen 80;
  server_name example.com;

  if ($http_cookie ~* "dev_cookie" ) {
    root /home/deploy/apps/example/current/public;
    passenger_enabled on;
    rack_env production;
    break;
  }
  rewrite ^/(.*) http://beta.example.com/$1 permanent;
}

但它似乎不起作用,我得到错误

[emerg]: "root" directive is not allowed here in /opt/Nginx/conf/Nginx.conf:45

我不知道如何进行这里,任何想法家伙?

解决方法

这就说得通了。
我将使用不同的根文件夹定义另一个虚拟主机(beta.example.com)
并且遇到cookie时 – 重写

您不能有条件地为域设置不同的根,但您可以有条件地重定向(重写)到另一个域

这个家伙的例子很早就帮我了
http://nicknotfound.com/2009/01/12/iphone-website-with-nginx/

猜你在找的HTML相关文章