为了账号安全,请及时绑定邮箱和手机立即绑定

nginx配置php接口多版本,不同版本指向不同目录

nginx配置php接口多版本,不同版本指向不同目录

PHP
慕哥9229398 2018-08-23 22:03:58
问一个nginx配置php的问题server {    listen       80;    server_name t.timophp.com;    charset utf-8;    access_log off;         location /v1 {        root /data/a/b;        index   index.php index.html index.htm;        if (!-e $request_filename) {            rewrite ^/v1/(.*)$ /index.php/$1 last;         }     }    location /v2/ {        root /data/c/d;        index   index.php index.html index.htm;        if (!-e $request_filename) {            rewrite ^/v2/(.*)$ /index.php/$1 last;         }     }    location ~ \.php(/|$) {        fastcgi_split_path_info ^(.+?\.php)(/.*)$;        fastcgi_pass   unix:/dev/shm/php-fpm.sock;        fastcgi_index  index.php;        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;        fastcgi_param  PATH_INFO        $fastcgi_path_info;        include        fastcgi_params;     }         location ~ /\.ht {        deny  all;     } }一个域名下面配置多个版本接口版本一路径/data/a/b版本二路径/data/c/d版本三路径/data/e/f按照我的配置行不通
查看完整描述

2 回答

?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

你这个是报404了
因为并不知道你的 /index.php 是在哪个目录
把access_log打开,加上error_log看看吧

试下以下配置

server {    listen       80;    server_name t.timophp.com;    charset utf-8;    access_log off;    location /v1/ {        alias /data/a/b/;        index   index.php index.html index.htm;        if (!-e $request_filename) {            rewrite ^/v1/(.*)$ /index.php/$1 last;
        }        location ~ \.php(/|$) {            fastcgi_split_path_info ^(.+?\.php)(/.*)$;            fastcgi_pass   unix:/dev/shm/php-fpm.sock;            fastcgi_index  index.php;            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;            fastcgi_param  PATH_INFO        $fastcgi_path_info;            include        fastcgi_params;
        }
    }    location /v2/ {        alias /data/c/d/;        index   index.php index.html index.htm;        if (!-e $request_filename) {            rewrite ^/v2/(.*)$ /index.php/$1 last;
        }        location ~ \.php(/|$) {            fastcgi_split_path_info ^(.+?\.php)(/.*)$;            fastcgi_pass   unix:/dev/shm/php-fpm.sock;            fastcgi_index  index.php;            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;            fastcgi_param  PATH_INFO        $fastcgi_path_info;            include        fastcgi_params;
        }
    }    location ~ /\.ht {        deny  all;
    }
}


查看完整回答
反对 回复 2018-08-26
  • 2 回答
  • 0 关注
  • 1974 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信