我想将所有流量传递到一个.php
文件,试过这个但不能正常工作。我正在使用nginx 1.10.0
以下是nginx -V
的输出:
nginx版本:nginx / 1.10.0(Ubuntu) 使用OpenSSL 1.0.2g-fips构建2016年3月1日 启用了TLS SNI支持 配置参数: - with-cc-opt =' -g -O2 -fPIE -fstack-protector-strong -Wformat -Werror = format-security -Wdate-time -D_FORTIFY_SOURCE = 2' --with-ld-opt =' -Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now' --prefix = / usr / share / nginx --conf-path = / etc / nginx / nginx.conf --http-log-path = / var / log / nginx / access.log --error-log-path = /var/log/nginx/error.log --lock-path = / var / lock / nginx.lock --pid-path = / run / nginx.pid --http-client-body-temp-path = / var / lib / nginx / body --http-fastcgi-temp-path = / var / lib / nginx / fastcgi --http-proxy-temp-path = / var / lib / nginx / proxy --http-scgi-temp- path = / var / lib / nginx / scgi --http-uwsgi-temp-path = / var / lib / nginx / uwsgi --with-debug --with-pcre-jit --with-ipv6 --with-http_ssl_module --with-http_stub_status_module --with-http_auth_request_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_geoip_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_mp4_module --with-http_perl_module --with-http_random_index_module --with-http_secure_link_module --with-http_v2_module --with-http_sub_module --with-http_xslt_module --with-mail --with-mail_ssl_module --with-stream - -with-stream_ssl_module --with-threads --add-module = / build / nginx-wAi2qr / nginx-1.10.0 / debian / modules / headers-more-nginx-module --add-module = / build / nginx- wAi2qr / nginx-1.10.0 / debian / modules / nginx-auth-pam --add-module = / build / nginx-wAi2qr / nginx-1.10.0 / debian / modules / nginx-cache-purge --add-module = / build / nginx-wAi2qr / nginx-1.10.0 / debian / modules / nginx-dav-ext-module --add-module = / build / nginx-wAi2qr / nginx-1.10.0 / debian / modules / nginx- development-kit --add-module = / build / nginx-wAi2qr / nginx-1.10.0 / debian / modules / nginx-echo --add-module = / build / nginx-wAi2qr / nginx-1.10.0 / debian / modules / ngx-fancyindex --add-module = / build / nginx-wAi2qr / nginx-1.10.0 / debian / modules / nginx-http-push --add-module = / build / nginx-wAi2qr / nginx-1.10。 0 / debian / modules / nginx-lua --add-module = / build / nginx-wAi2qr / nginx-1.10.0 / debian / modules / nginx-upload-progress --add-module = / build / nginx-wAi2qr / nginx-1.10.0 / debian / modules / nginx-upstream-fair --add-module = / build / nginx-wAi2qr / nginx-1.10.0 / debian / modules / ngx_http_substitutions_filter_mod ULE
server {
listen 80 default_server;
server_name _;
location / {
include /etc/nginx/snippets/fastcgi-php.conf;
fastcgi_param SCRIPT_FILENAME /location/to/php/cache.php;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
# Set maximum expire to all static files
location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {
access_log off;
log_not_found off;
expires max;
}
} # server
答案 0 :(得分:0)
尝试以下配置:
server {
listen 80 default_server;
server_name _;
root /location/to/php;
index cache.php;
location / {
rewrite ^/(.*)$ /cache.php?requestedPath=$1 break;
include /etc/nginx/snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
# Set maximum expire to all static files
location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|t gz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {
access_log off;
log_not_found off;
expires max;
}
} # server
然后,您可以在requestedPath
中使用GET参数中的cache.php
。
但是这个配置不会将执行流重定向到静态文件的PHP。如果要在cache.php
中处理图像和其他静态文件,则应将添加添加到第二个location
,阻止与第一个相同的行。