尝试在子文件夹下使用 Nginx 将域根目录

Trying to root a domain with Nginx under a sub-folder

我有一个域 tmhos.church 和一个简单的 index.html 位于 cosmoscomputers.com:3597/ref/tmhos。 (他们在同一个数字海洋水滴服务器和 dns 上)

我试图隐藏 tmhos.church 以便它看起来是它自己的网站,而实际上它位于 /ref/tmhos.

之上

我找到了这篇文章 How to preserve request url with nginx proxy_pass(我认为接近,但不完全是我的问题)并且有一个如下所示的 nginx 配置...但是当我转到 tmhos.church 时,它转到 cosmoscomputers.com 的顶部(但确实将 tmhos.church 域保留在地址栏中(好))。如果我然后手动添加 /ref/tmhos 到最后,它会转到我想成为根的页面。我承认我不知道所有的行在做什么(例如 'rewrite' 正则表达式),但是 proxy_pass 并没有完全按照我的意愿行事。

server {
    listen 80;
    listen [::]:80;

    server_name tmhos.church www.tmhos.church;

    location / {

        rewrite            ^(.*)$   "://$http_host$uri$is_args$args";
        rewrite            ^(.*)$   "http$uri$is_args$args" break;
        proxy_set_header   Host     $host;

        proxy_pass http://138.197.133.227:3597/ref/tmhos;

    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}

你能试试吗:

server {
    listen 80;
    listen [::]:80;

    server_name tmhos.church www.tmhos.church;

    location / {
        proxy_set_header Host $host;
        proxy_pass http://cosmoscomputers.com:3597/ref/tmhos/;
    }

    location ~ /\.ht {
        deny all;
    }
}