Назад | Перейти на главную страницу

Расположение и перезапись файла Nginx conf не работают

Я запускаю magento на nginx.
Мой корень /pub
Но есть некоторые расширения, которые пытаются ссылаться на www.myurl.com/pub/xxx.file, поэтому я хочу переписать все /pub так как /

Мой план был для www.myurl.com/pub/xxx.file стать www.myurl.com/xxx.file, Но это не работает.

Вот мой файл conf ( abcdefg это тестовый каталог):

server {
    listen 443 ssl http2;
    server_name www.myurl.com ;
    index index.html index.htm index.php default.html default.htm default.php;
    root  /home/wwwroot/www.myurl.com/pub;

    ssl on;
    ssl_certificate /etc/letsencrypt/live/www.myurl.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/www.myurl.com/privkey.pem;
    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers "myciphers";
    ssl_session_cache builtin:1000 shared:SSL:10m;
    ssl_dhparam /usr/local/nginx/conf/ssl/dhparam.pem;

    location /pub {
           rewrite /pub /;
    }

    location ^~/abcdefg {
           rewrite /abcdefg/ /1234567/;
    }

    include other.conf;
    if (!-e $request_filename) {
            rewrite ^(.+)$ /index.php;
    }
    set $MAGE_MODE production;

    include enable-php.conf;

    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
        expires      30d;
    }

    location ~ .*\.(js|css)?$
    {
        expires      12h;
    }

    #location ~ /.well-known {
    #    allow all;
    #}

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

    access_log  /home/wwwlogs/shopkey.doyustudio.com.log;
    error_log  /home/wwwlogs/shopkey.doyustudio.com.error.log debug;
}

вместо установки root /home/wwwroot/www.myurl.com/pub; использовать root /home/wwwroot/www.myurl.com/; а затем создайте локацию с примеркой pub реж, вот так

location / {
    try_files /pub/$uri $uri;
}

Это говорит о том, что сначала нужно искать $ uri на pub каталог, если он не существует, попробуйте root каталог