标签:
server { listen 80; server_name www.xxx.com api.xxx.com; access_log /srv/www/xxx.com/app/logs/www.xxx.com_access.log; error_log /srv/www/xxx.com/app/logs/www.xxx.com_error.log notice; rewrite ^/app\.php/?(.*)$ /$1 permanent; #rewrite ^/(.*)/$ /$1 permanent; root /srv/www/xxx.com/web; error_page 500 502 504 /500.html; #location ~ .*\.(js|css|gif|jpg|jpeg|png|bmp|swf|ico)$ #{ # add_header Cache-Control "public"; # expires 30d; # access_log off; #} location ~ .*\.(js|css|gif|jpg|jpeg|png|bmp|swf|ico)$ { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host $http_host; proxy_pass_header Set-Cookie; proxy_pass http://10.105.11.135; } location / { index app.php; #如果定向到这个location,那么index会去寻找后边的文件在root文件夹下,并出发一个重定向跳转,到其它的location中去处理 try_files $uri @rewriteapp; } location @rewriteapp { rewrite ^(.*)$ /app.php/$1 last; } location ~ \.php { fastcgi_cache fcgi; fastcgi_cache_valid 200 302 1m; fastcgi_cache_valid 404 500 502 503 504 0s; fastcgi_cache_valid any 1m; fastcgi_cache_min_uses 1; fastcgi_cache_use_stale error timeout invalid_header http_500 http_503 updating; fastcgi_buffer_size 64k; fastcgi_buffers 4 64k; fastcgi_busy_buffers_size 128k; fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; fastcgi_split_path_info ^(.+\.php)(/.*)$; include /etc/nginx/fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param HTTPS off; } }
语法:try_files file ... uri 或 try_files file ... = code
默认值:无
作用域:server location
其作用是按顺序检查文件是否存在,返回第一个找到的文件或文件夹(结尾加斜线表示为文件夹),如果所有的文件或文件夹都找不到,会进行一个内部重定向到最后一个参数。
需要注意的是,只有最后一个参数可以引起一个内部重定向,之前的参数只设置内部URI的指向。最后一个参数是回退URI且必须存在,否则会出现内部500错误。命名的location也可以使用在最后一个参数中。与rewrite指令不同,如果回退URI不是命名的location那么$args不会自动保留,如果你想保留$args,则必须明确声明。
语法:location [=|~|~*|^~|@] /uri/ { … }
默认值:无
作用域:server
location指令是用来为匹配的URI进行配置,URI即语法中的"/uri/",可以是字符串或正则表达式。但如果要使用正则表达式,则必须指定前缀。 [@] 即是命名location,一般只用于内部重定向请求。
标签:
原文地址:http://www.cnblogs.com/wlemory/p/5672147.html