Подтвердить что ты не робот

Nginx перенаправляет, если присутствует файл cookie

Я видел некоторые ограниченные ресурсы при проверке файлов cookie с Nginx, но я не мог найти ответ, который я искал, надеюсь, некоторые из вас, мастера 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

Я не уверен, как продолжить здесь, какие-нибудь идеи ребята?

4b9b3361

Ответ 1

Это имеет смысл. Я бы определил еще один виртуальный хост (beta.example.com) с этой другой корневой папкой и при встрече с cookie - сделайте переписывание

Вы не можете устанавливать разные корни для домена условно, но вы можете перенаправить (переписать) на другой домен условно

Этот пример парня помог мне немного назад http://nicknotfound.com/2009/01/12/iphone-website-with-nginx/