ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Странная проблема при отсутствии trailing slash в URL


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: Странная проблема при отсутствии trailing slash в URL
  • From: "Alex Umansky" <alex.umansky@xxxxxxxxx>
  • Date: Tue, 9 Dec 2008 18:55:31 +0200
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:mime-version:content-type; bh=sD4CWDEB+Gm/R2dUSdGh/5fomToBqUVUx5aJX8/5bVA=; b=BUFYYNH2OnOXvkF7CeEJbgbHWyR7+cf0HS4SPBItlDOnqfbh3CmHd2P37d+a9JNqUm n+0J1lI6G1XEPBTpI/gbSEuK9VxiFQhohSVkJHUjtF+wk77LrpqZ12ci7iAcz9fyCNip 2imtedUb9iSG2fGBvfF+Yb+zcNsOkPVrzdNtM=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:mime-version:content-type; b=jrgLo4Ld8k76uFn571ZHs7X8RnRg+zc7Vxv2bfBtCQ42azPZLQIcZkp49zcT8Q90qU CBw+9GnFbxy/jT0ka55menxUd2RAc76IzSF1JTIcdPQBxp2JSV9dgSTFudcnWhP/bTxU NSqm+KaK3ACD77GfvFBo+W95LXpa0b+fecnIQ=

Но разве, даже без слеша, nginx не должен его дополнять сам?
 
Я просто перевел конфиг с языка апаче на nginx...
 
Полный конфиг этого виртуального хоста:
 
Могу привести конф с апаче, как ето было пару недель назад
 
Спасибо
 
#WWW.domain.com
   server {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header   X-Forwarded-Host $http_host;
    proxy_set_header  Host        $proxy_host;
    proxy_set_header   X-Forwarded-Server $http_host;
    proxy_redirect     off;
 
    client_max_body_size 0M;
    client_body_buffer_size    128k;
    client_body_temp_path      /tmp;
    proxy_connect_timeout      90;
    proxy_send_timeout         90;
    proxy_read_timeout          90;
    proxy_buffer_size          4k;
    proxy_buffers              4 32k;
    proxy_busy_buffers_size    64k;
    proxy_temp_file_write_size 64k;
    proxy_temp_path            /tmp;

    listen      *:80;
    server_name   www.domain.com
    access_log   /var/log/nginx/wwww_log  main;
    error_log /var/log/nginx/wwww_error_log debug;
#    rewrite_log on;

location /nginx_status {
    root /var/www/html;
    stub_status on;
    access_log   off;
    allow xxx.xxx.xxx.xxx;
    deny all;
    }

#MAIN LOCATION
       location / {
       root /var/www/html/;
        if (-f $request_filename.php) {
        proxy_pass http://dynamic.domain.com;
        break;
        }
       }
 
#PHP AS HTML
        location /user/user.php {
          types {}
          root /var/www/html;
          default_type text/html;
        }
        location /user/profile.php {
          types {}
          root /var/www/html;
          default_type text/html;
        }
        location /user/editProfile.php {
          types {}
          root /var/www/html;
          default_type text/html;
        }
#PICS PROXY
        location ~* /([0-9]+)/([0-1][0-9])/ {
            root         /var/www/html/pics;
            proxy_pass http://PICS-0-19.ALL;
        }
        location ~* /([0-9]+)/([2-3][0-9])/ {
            root         /var/www/html/pics;
            proxy_pass http://PICS-20-39.ALL;
        }
        location ~* /([0-9]+)/([4-5][0-9])/ {
            root         /var/www/html/pics;
            proxy_pass http://PICS-40-59.ALL;
        }
        location ~* /([0-9]+)/([6-7][0-9])/ {
            root         /var/www/html/pics;
            proxy_pass http://PICS-60-79.ALL;
        }
        location ~* /([0-9]+)/([8-9][0-9])/ {
            root         /var/www/html/pics;
            proxy_pass http://PICS-80-99.ALL;
        }

#FULL PROXY /BUGREPORT
        location / {
        root         /var/www/html/support/bugreport;
        proxy_pass         http://dynamic.domain.com/;
        }
#FULL PROXY /FEEDBACK
        location / {
        root         /var/www/html/support/feedback;
        proxy_pass         http://dynamic.domain.com/;
        }

#IMAGE EXPIRATION
        location ~* ^.+\.(jpg|jpeg|gif)$ {
        root         /var/www/html;
        expires      30d;
        }
#HTML JS CS EXPIRATION
        location ~* ^.+\.(html|js|css)$ {
        root         /var/www/html;
        expires      2h;
        }
#XML EXPIRATION
        location ~ \.xml$ {
        root         /var/www/html;
        expires      1d;
        }
}
 
 
 
 
On Tue, Dec 09, 2008 at 06:08:56PM +0200, Alex Umansky wrote:

> Спасибо, Игорь, но это не помогло ;-(
>
> Директория содержит поддиректории, никаких текстовых файлов.
> Да и это не важно..любая директория с/без пхп файлами внутри идет на бэкенд
> через 301 при отсутствии слэша в конце URL
>
> proxy_pass срабатывает при / только.

proxy_pass работает, это видно по логу. И там же видно, что именно бэкенд
возращает "Location: http://dynamic.domain.com/data/";
Судя по приведённому конфигу, proxy_pass работать для /data не должен,
так как нет файла /data/php. Стало быть приведена не та конфигурация.

> Тут что-то с этим trailing slash в конце...я ожидал, что nginx сам добавит
> слеш, а в итоге  - бэкенд в адрес баре и 301...

Сначала 301, а лишь потом "бэкенд в адрес баре".

> Спасибо


 




Copyright © Lexa Software, 1996-2009.