301重定向,不包括文件夹或文件

时间:2019-07-06 12:28:30

标签: node.js express nginx

给出:

如何从根中排除对所有文件(机器人,img)的所有请求,同时保留所有其他请求(获取,发布,放置,删除,ajax等)的常规301重定向到https的

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

    # SSL configuration
    listen 443 ssl;
    listen [::]:443 ssl;

    # Имя сервера
    server_name site.ru www.site.ru;

    # Путь к корневому каталогу проектов
    root /var/www/site/public;

    # Добавьте index.php в список, если вы используете PHP
    index index.php index.html index.htm index.nginx-debian.html;

    # нужно для linux-систем, чтобы правильно отдавались имена файлов на русском
    #charset utf-8;

    # для получения сертификата
    include acme;

    # spdy_headers_comp 6;
    resolver 8.8.8.8 [2001:4860:4860::8888];

    if ($ssl_protocol = "") {
        return 301 https://$server_name$request_uri;
    }

    location / {
        # Статика
        location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
            try_files $uri $uri/ @fallback;
        }
        location / {
            try_files /does_not_exists @fallback;
        }
    }

    location @fallback {
        proxy_pass http://127.0.0.1:8050;
        proxy_redirect http://127.0.0.1:8050 /;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Forwarded-Port $server_port;
        access_log off;
    }
}

现在文件请求也重定向到HTTPS

我尝试了Internet上的其他选项,但没有成功

0 个答案:

没有答案