如何使用Nginx扩展文件后删除斜杠?

时间:2019-07-04 15:25:13

标签: nginx ghost-blog

我在example.comwww.example.com上有一个Ghost站点(内部在端口2368上运行)。同时,我有一个名为form.pdf的文件,并且希望在以下位置提供该文件(在浏览器中查看,而不要求用户下载):

  • example.com/form.pdf
  • www.example.com/form.pdf

在下面的配置中,只有在.pdf扩展名后包含尾部斜杠的情况下,它才起作用:

  • example.com/form.pdf/
  • www.example.com/form.pdf/

PDF文件路径:

/var/www/ghost/pdfs/form.pdf

配置文件路径:

/etc/nginx/sites-available/ghost

配置文件:

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    server_name 123.45.678.901 localhost example.com *.example.com;

    root /usr/share/nginx/html;
    index index.html index.htm;

    client_max_body_size 100M;

    location "/form.pdf" {
        alias /var/www/ghost/pdfs;
        index form.pdf;
    }

    location / {
        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;
    }
}

当我删除.pdf扩展名后的斜杠时,出现404错误。

问题:

如何正确配置Nginx以使其正常运行而末尾没有反斜杠?

1 个答案:

答案 0 :(得分:0)

我找到了答案。这个对我有用:

location = /form.pdf {
        root /var/www/ghost/pdfs;
}