Циклический реврайт

Anton Bessonov exelib на googlemail.com
Чт Июл 29 19:11:31 MSD 2010


Захотелось (вернее пришлось) вынести часть под отдельного юзера.

Первый энджин:

server {
    listen 80;
    server_name host.ru;
    error_log  /tmp/error.log;

    location ~* ^.+.(html|gif|jpg|png|css|zip|rar|exe|com|ico)$ {
        expires 30d;

        proxy_buffering off;
        proxy_pass http://127.0.0.1:8049;
    }

    location / {
       [...]

Второй энджин:

user myuser;
worker_processes  4;

error_log  /tmp/error2.log;

pid /var/run/nginx_myuser.pid;

events {
        worker_connections  1024;
}

http {
    include       /usr/local/nginx/mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;

    server {
        listen 127.0.0.1:8049;

        location / {
            rewrite (.*)/favicon.(ico|png) /favicon.$2 last;
            root /home/myuser;
        }
    }
}


Если (.*) заменить на (.+), то работает, а так:

2010/07/29 15:01:37 [error] 3547#0: *24 rewrite or internal redirection 
cycle while processing "/favicon.ico", client: 127.0.0.1, server: 
host.ru, request: "GET /favicon.ico HTTP/1.0", host: "127.0.0.1:8049"


как лечить иначе?



Подробная информация о списке рассылки nginx-ru