我们最近迁移到了Nginx,我们还需要从某个目录/路径(www.domain.com/images/test.jpg)中传输以下htaccess配置,其中该图像文件包含一个我们想要的php代码。跑。
AddHandler application/x-httpd-ea-php56 .jpg .png .gif
Run Code Online (Sandbox Code Playgroud)
做了一些研究并在下面找到了示例,但是由于我对配置nginx并不十分了解,所以我不确定为什么它不起作用。
第一:
location ~ \.(php|jpg)$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
Run Code Online (Sandbox Code Playgroud)
第二:
location ~ .*\.php$ {
root /var/www/html/www.domain.com;
if (!-f $request_filename) {
rewrite ^/(.*)$ /index.php?q=$1;
break;
}
include fastcgi_params;
#root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_intercept_errors off;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/html/www.domain.com$fastcgi_script$
}
Run Code Online (Sandbox Code Playgroud)
我希望有人能帮助我。
更新08/09/2019-答案
location ~ ^/pathname/images/(.*)\.(jpg|png|gif)$
{
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
Run Code Online (Sandbox Code Playgroud)
你能试试这段代码吗:
location ~* \.(jpg|jpeg|gif|png|bmp)$ {
try_files $uri $uri/ /index.php$is_args$args;
add_header Cache-Control public;
add_header Cache-Control must-revalidate;
expires 7d;
}
Run Code Online (Sandbox Code Playgroud)
您可能需要修改/index.php?$is_args$argstry_files 行上的部分,以便获得脚本的正确参数,因为您最初的问题没有清楚地显示您想要的参数是什么。