Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Циклический реврайт
On Thu, Jul 29, 2010 at 05:11:31PM +0200, Anton Bessonov wrote:
> Захотелось (вернее пришлось) вынести часть под отдельного юзера.
>
> Первый энджин:
>
> 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"
>
>
> как лечить иначе?
Потому что "/favicon.ico" попадает под "(.*)/favicon.(ico|png)".
root /home/myuser;
location = /favicon.ico { }
location = /favicon.png { }
А лучше перестать думать в стиле rewrite'ов:
location ~ /favicon.(ico|png)$ {
alias /home/myuser/favicon.$1;
}
--
Игорь Сысоев
http://sysoev.ru
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
|