在来自 nginx 的某个目录上的图像文件中运行 php 代码

我们最近迁移到了 nginx,我们还需要从某个目录/路径(www.domain.com/images/test.jpg)中传输我们的 htaccess 配置,其中该图像文件包含我们想要的 php 代码跑。


AddHandler application/x-httpd-ea-php56 .jpg .png .gif

做了一些研究并在下面找到了示例,但由于我对如何配置 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;

}

第二:


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$

}

我希望有人能帮助我。


更新 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;

}


一只斗牛犬
浏览 139回答 2
2回答

森栏

你能试试这个代码吗: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;}您可能需要修改/index.php?$is_args$argstry_files 行上的部分,以便为您的脚本获得正确的参数,因为您最初的问题没有清楚地显示您想要的参数是什么。
打开App,查看更多内容
随时随地看视频慕课网APP