我似乎无法让sub_filter在nginx上使用PHP-FPM
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
proxy_set_header Accept-Encoding ""; # no compression allowed or next won't work
sub_filter '<a href="http://' '<a href="//';
sub_filter '<img src="http://' '<img src="//';
sub_filter_once off;
sub_filter_types *;
}
作为参考,过滤器与普通HTML文件完美配合
location / {
try_files $uri $uri/ =404;
proxy_set_header Accept-Encoding ""; # no compression allowed or next won't work
sub_filter '<a href="http://' '<a href="//';
sub_filter '<img src="http://' '<img src="//';
sub_filter_once off;
}
任何帮助将不胜感激
答案 0 :(得分:0)
我们的设置遇到了与您相同的问题。我们发现我们已经打开了PHP压缩。您需要将其关闭。该设置位于php.ini文件中。
压缩设置应为zlib.output_compression = Off
。
一旦我们更新了该设置并重新启动了PHP,NGINX sub_filter
就会按预期工作。
答案 1 :(得分:0)