我有一个有效的nginx / php-fpm安装程序,但是我需要将某些php文件代理到另一台服务器。这是我似乎没有用的东西
# clisupp and other supporting files
location /swsupport/ {
add_header X-debug-message "Proxied" always;
proxy_pass http://swsupport;
}
location ~ \.php$ {
add_header X-debug-message "A php file was used" always;
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass php:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
发出http://localhost/swsupport/clisupp/swtoday/index.php
之类的请求时,将由php
位置而不是/swsupport/
位置处理。这是一个实际示例的图片。如您所见,使用了与PHP位置相对应的X-debug-message
标头。
答案 0 :(得分:1)
正则表达式 location
优先于普通前缀location
,除非使用了^~
修饰符。
在您的配置中,/swsupport/
块仍在处理以.php
开头和以location ~ \.php$
结尾的URI。
有关详细信息,请参见this document。
例如:
location ^~ /swsupport/ { ... }