gpt4 book ai didi

php - 将所有内容传递到一个位置 nginx

转载 作者:太空宇宙 更新时间:2023-11-04 12:45:23 25 4
gpt4 key购买 nike

我想将所有流量传递给一个 .php 文件,试过了但没有用。我正在使用 nginx 1.10.0

这是 nginx -V 的输出:

nginx version: nginx/1.10.0 (Ubuntu) built with OpenSSL 1.0.2g-fips 1 Mar 2016 TLS SNI support enabled configure arguments: --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_realip_module --with-http_auth_request_module --with-http_addition_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_module

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

最佳答案

尝试以下配置:

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

然后您可以在 cache.php 中使用 GET 参数中的 requestedPath

但此配置不会将静态文件的执行流程重定向到 PHP。如果您想在 cache.php 中处理图像和其他静态文件,您应该将添加添加到第二个 location block 中与第一个相同的行。

关于php - 将所有内容传递到一个位置 nginx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38851777/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com