如何配置nginx从其他文件夹加载try_files?

前端之家收集整理的这篇文章主要介绍了如何配置nginx从其他文件夹加载try_files?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我需要一些帮助配置Nginx来加载来自不同文件夹的文件.这是我的配置:

index index.PHP;

server {
    server_name domain.com;
    root /www/domain.com/www/;

    location / {
            try_files $uri $uri/ /PHP_www/index.PHP;
    }

    location ~ \.PHP${
            try_files $uri =404;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index /PHP_www/index.PHP;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param PATH_INFO $fastcgi_script_name;
            include /etc/Nginx/fastcgi_params;
    }

    error_page  404  /404.html;

    error_log /var/log/Nginx/error.log;

}

问题是/ PHP_www /不在Nginx中定义的根目录内.

我有4个不同的文件夹,我需要这样做,这是我的文件夹结构:

/www/domain.com/www/
/www/domain.com/PHP_www/
/www/domain.com/content1/
/www/domain.com/content2/

我要做的是当访问者访问domain.com/page1/content1/时,我想从content1文件夹中加载内容,例如.这样做的原因是我有几个git项目有单独的repos …这将使我能够将网站的某些区域推向生产,而不会影响其他任何事情.我也不想在/ www文件夹中访问我的所有文件/内容,因此网址不能被暴力攻击,寻找内容.

希望这是有道理的!

工作解决方案(摘自this评论)

location ^~ / { 
    root /www/domain.com/PHP_www/; 
    try_files $uri $uri/ /index.PHP; 
    location ~* \.(?:PHP|html)${ 
        try_files $uri =404; 
        fastcgi_pass 127.0.0.1:9000; 
        include /etc/Nginx/fastcgi_params; 
    }
}
最佳答案
您可以在location中使用root指令.
原文链接:https://www.f2er.com/nginx/434587.html

猜你在找的Nginx相关文章