1 votes

L'emplacement du fichier de configuration de Nginx et la réécriture ne fonctionnent pas

Je fais tourner magento sur nginx.
Ma racine est /pub
Mais il y a des extensions qui essaient de se relier à www.myurl.com/pub/xxx.file Je veux donc réécrire tous les /pub comme /

Mon projet était de www.myurl.com/pub/xxx.file devenir www.myurl.com/xxx.file mais cela ne fonctionne pas.

Voici mon fichier de configuration (Le fichier abcdefg est un répertoire de test) :

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;
}

1voto

Diego Velez Points 770

Au lieu de définir root /home/wwwroot/www.myurl.com/pub; utiliser root /home/wwwroot/www.myurl.com/; puis créer un lieu avec try on pub comme suit

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

Cela revient à dire qu'il faut d'abord rechercher le $uri dans la base de données pub s'il n'existe pas, essayez dans le répertoire root répertoire

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X