Re: Ошибка 404 при использовании в УРЛе незаэскейпенных спецсимволов, таких как скобки или тире

Илья Шипицин chipitsine at gmail.com
Tue Aug 13 19:21:29 UTC 2013


в чем смысл директивы


    if (!-e $request_filename) {
        rewrite ^.*$ /index.php last;
    }


при наличии try_files ?

опять же, при правильном использовании try_files не будет отдаваться
404 от nginx, потому что, если он не найдет файл, он будет
проксировать дальше, на ZF


14 августа 2013 г., 0:29 пользователь automatix <nginx-forum at nginx.us> написал:
> Спасибо за Ваш ответ!
>
> Относительно того, как я хочу -- да, именно так: чтобы собственно раутингом
> занимался "хитрый зенд". Когда мне удастся донести до него реквест, он
> сможет с этим справиться.
>
> Настройки. Я изменил свои настройки в соответствии с тем, что Вы написали.
> Но видимых изменений, к сожалению, нет.
>
> Вот актуальный конфиг:
>
> server {
>     listen   80;
>     server_name
>         foo.qwer.loc
>         bar.asdf.loc
>         baz.yxcv.loc
>     ;
>
>     charset utf-8;
>
>     if ($host ~ ^(?<project>.+)\.(?<area>.+)\.loc$) {
>         #set $project $1;                       # already set
>         #set $area $2;                          # already set
>
>         set $folder "$area/$project";
>         #set $domain "$project.$area.loc";      # equal to $host
>     }
>
>     access_log /var/log/nginx/$area/$project.access.log;
>     error_log /var/log/nginx/error.log;
>
> #    add_header Host $server_name;
> #    add_header X-Server $hostname;
>
>     gzip on;
>     gzip_min_length 1000;
>     gzip_types text/plain text/xml application/xml;
>
>     client_max_body_size 25m;
>
>     root /var/www/$folder/public/;
>
>     try_files $uri $uri/ /index.php?$args;
>     index index.html index.php;
>
>     location / {
>         index index.html index.php;
>         sendfile off;
>
>         try_files $uri $uri/ @zend;
>         index index.php index.html index.htm;
>         add_header Cache-Control max-age=1209600;
>     }
>
>     # Zugriff auf sensible Dateien verwehren
>     location ~ (\.inc\.php|\.tpl|\.sql|\.tpl\.php|\.db)$ {
>         deny all;
>     }
>
>     # Die htaccess brauchen wir nicht mehr - und wenn sie noch da is
>     # sollte sie nicht angezeigt werden
>     location ~ \.htaccess {
>         deny all;
>     }
>
>     # Die eigentliche RewriteRule für das Zend Framework
>     if (!-e $request_filename) {
>         rewrite ^.*$ /index.php last;
>     }
>
>     location ~ \.php$ {
>         fastcgi_cache        off;
>         #fastcgi_pass        127.0.0.1:9001;
>         fastcgi_pass         unix:/var/run/php5-fpm.sock;
>         fastcgi_read_timeout 6000;
>         fastcgi_index        index.php;
>         include              fastcgi_params;
>         #fastcgi_param        SCRIPT_FILENAME
> $document_root$fastcgi_script_name;
>         fastcgi_param        APPLICATION_ENV development;
>         fastcgi_param        HTTPS $https;
>
>         try_files $uri @zend;
>     }
>
>     location @zend {
>         #fastcgi_pass 127.0.0.1:9000;
>         fastcgi_pass unix:/var/run/php5-fpm.sock;
>         fastcgi_index index.php;
>         fastcgi_param SCRIPT_FILENAME $document_root/index.php;
>         include fastcgi_params;
>     }
>
>     location ~ /\. {
>         deny all;
>     }
> }
>
> Posted at Nginx Forum: http://forum.nginx.org/read.php?21,241512,241812#msg-241812
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru


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