Nginx自定义配置

Nginx自定义配置,nginx,Nginx,我需要我的NGINX配置根据URL做一些独特的事情 如果URL为: mydomain.com/blog或mydomain.com/blog/ 我需要NGINX在端口2368上提供一个ghost博客,我通过以下方式完成了这项工作: location /blog/ { proxy_pass http://localhost:2368; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_

我需要我的NGINX配置根据URL做一些独特的事情

如果URL为:

mydomain.com/blog或mydomain.com/blog/

我需要NGINX在端口2368上提供一个ghost博客,我通过以下方式完成了这项工作:

location /blog/ {
    proxy_pass http://localhost:2368;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_buffering off;
} 
location / {
    try_files $uri $uri/ $uri.html =404;
}
如果URL为:

mydomain.com/some-article-title

我需要NGINX指向some-article-title.html。我是这样做的:

location /blog/ {
    proxy_pass http://localhost:2368;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_buffering off;
} 
location / {
    try_files $uri $uri/ $uri.html =404;
}
第一个问题:如果url是mydomain.com/some-article-title/或者情况不同,例如mydomain.com/some-article-title,我也希望这样做有效。在NGINX中如何执行此操作

第二个问题:如果没有匹配的HTML文件,也就是说,如果URL是mydomain.com/jimsmith,并且没有HTML文件jimsmith.HTML,我还需要NGINX重定向到特定子域,我需要NGINX将用户带到jimsmith.mydomain.com,我怎么做?

location/blog/不会匹配/blog的请求,但location/blog会匹配

。。。尝试文件。因此,如果您的请求包含尾部斜杠,nginx将搜索一个目录文件,该目录文件仅在任何文件系统上以/are目录结尾

如果希望nginx在请求包含尾部斜杠时搜索文件,则需要将请求重写为其尾部斜杠前的形式。请注意,目录将不再可访问。。。因此,下面显示的最通用的形式远未被推荐。无论如何,不鼓励任何形式的尾部斜杠重写

location ~* ^(?<article>/[^/]+)/$ {
    return 302 $scheme://$host$article;
}