2015-11-10 5 views
1

Я имею в Nginx конфигурационный файл, какNginx, псевдоним и расположение

server { 
    root /var/www/releaser/site/web/; 

    location ~ \.php$ { 
     include snippets/fastcgi-php.conf; 
     fastcgi_pass unix:/var/run/php5-fpm.sock; 
    } 

    location ^~ /images/ { 
     alias /var/www/releaser/site/web/img/; 
    } 

    # Media: images, icons, video, audio, HTC 
    location ~* \.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm|htc)$ { 
     expires 1M; 
     access_log off; 
     add_header Cache-Control "public"; 
    } 

    include snippets/nginx-basics.conf; 

    error_log /var/log/nginx/site-error.log; 
    access_log /var/log/nginx/site-access.log; 

    server_name site.test; 
} 

Так что, когда я делаю это (дополнительные заголовки для изображения отсутствуют):

$ curl -I site.test/images/one.jpg 
HTTP/1.1 200 OK 
Server: nginx/1.9.3 (Ubuntu) 
Date: Tue, 10 Nov 2015 05:29:59 GMT 
Content-Type: image/jpeg 
Content-Length: 185547 
Last-Modified: Fri, 24 Jul 2015 22:12:20 GMT 
Connection: keep-alive 
Accept-Ranges: bytes 

Но, если я сделать это (дополнительные заголовки изображений включены):

$ curl -I site.test/img/one.jpg 
HTTP/1.1 200 OK 
Server: nginx/1.9.3 (Ubuntu) 
Date: Tue, 10 Nov 2015 05:29:36 GMT 
Content-Type: image/jpeg 
Content-Length: 185547 
Last-Modified: Fri, 24 Jul 2015 22:12:20 GMT 
Connection: keep-alive 
Expires: Thu, 10 Dec 2015 05:29:36 GMT 
Cache-Control: max-age=2592000 
Cache-Control: public 
Accept-Ranges: bytes 

Как я могу это исправить, не помещая копию дополнительных заголовков внутри locatio Псевдонима n раздел?

Большое спасибо!

ответ

1

Одно из решений заключается в замене alias директиву с директивой rewrite:

location ^~ /images/ { 
    rewrite ^/images(.*)$ /img$1; 
} 
+0

Он работал как шарм. Можете ли вы объяснить мне, когда полезно использовать псевдоним и когда переписывать? – kai

+0

@kai Я нахожу, что 'alias' имеет очень ограниченный объем. В вашем примере был учебник, за исключением ограничения дополнительных заголовков. –

Смежные вопросы