小编quo*_*nt7的帖子

nginx服务器配置:子域到文件夹

我从Apache 2迁移到nginx,我遇到了问题,以便我的子域控制.我想要的:当请求x.domain.tld时,在内部重写到domain.tld/x

我遇到的问题是nginx总是通过告诉浏览器重定向来重定向页面.但我真正想要的是在内部执行此操作,就像Apache 2那样.此外,如果我只请求x.domain.tld,则nginx返回404.它仅在我执行x.domain.tld/index.php时有效

这是我的配置:

server {
        listen      80 default;
        server_name _ domain.tld www.domain.tld ~^(?<sub>.+)\.domain\.tld$;

        root /home/domain/docs/;

        if ($sub) {
                rewrite (.*) /$sub;
        }

        # HIDDEN FILES AND FOLDERS
        rewrite ^(.*)\/\.(.*)$ @404 break;

        location = @404 {
                return 404;
        }

        # PHP
        location ~ ^(.*)\.php$ {
                if (!-f $request_filename) {
                        return 404;
                }

                include       /etc/nginx/fastcgi_params;
                fastcgi_pass  unix:/etc/nginx/sockets/domain.socket;
        }
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

subdomain rewrite nginx

16
推荐指数
2
解决办法
2万
查看次数

标签 统计

nginx ×1

rewrite ×1

subdomain ×1