Я видел некоторые ограниченные ресурсы при проверке 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
Я не уверен, как продолжить двигаться здесь, какие-либо парни идей?
В этом есть смысл. Я бы определил другой виртуальный хост (beta.example.com) с этой другой корневой папкой и при обнаружении cookie - перезаписать
Вы не можете установить разные корни для домена условно, но вы можете перенаправить (перезаписать) на другой домен условно
Пример этого парня помог мне немного назад http://nicknotfound.com/2009/01/12/iphone-website-with-nginx/