NGINX 支持更改文件夹名称

时间:2021-01-12 21:48:50

标签: nginx


    location ~ \.(jpg|png|css|js|html|json|svg|jpeg) {
            try_files $uri =404;
    }

    location ~ ^/amk(.*) {
        include fastcgi_params;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_pass localhost:9000;
        fastcgi_param SCRIPT_FILENAME $document_root/amk/app.php;
    }

    location ~ ^/ewan(.*) {
        include fastcgi_params;
        fastcgi_pass localhost:9000;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param SCRIPT_FILENAME $document_root/ewan/app.php;
    }

基本上,我想保留这个 nginx 配置,但是目录会改变 所以它可能是 amk 也可能是 mcaq 所以我希望 https://example.com/apps/FOLDER 将 php 重定向到 $document_root/FOLDER/app.php 但是 https://example.com/apps/FOLDER/images/test.jpg 转到 $document_root/FOLDER/images/test.jpg 有什么想法吗?

1 个答案:

答案 0 :(得分:0)

    location ~ \.(jpg|png|css|js|html|json|svg|jpeg) {
        rewrite ^/apps(/.*)$ $1 break;
        try_files $uri =404;
    }

    location ~ ^/apps/([^/]+)/?(.*?)$ {

        set $site $1;
        set $loc $2;

        include fastcgi_params;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_pass localhost:9000;
        fastcgi_param SCRIPT_FILENAME $document_root/$site/app.php;
    }

这是我找到的解决方案。