Je continue à obtenir ERR_TOO_MANY_REDIRECTS lorsque j'essaie de naviguer vers la boutique frontale d'un site Prestashop 1.7. Cependant, tout va bien lorsqu'on se rend dans le backend d'administration.
Toute suggestion serait utile.
Le site fonctionne avec Nginx, PHP-FPM7, MariaDB.
Le fichier de configuration de Nginx ci-dessous :
upstream examplecoukbackend {
server unix:/var/run/php-fcgi-examplecouk.sock;
}
server {
listen 80;
server_name example.co.uk;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl;
ssl_session_timeout 24h;
ssl_session_cache shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDH+AESGCM:ECDH+AES256:ECDH+AES128:DH+3DES:RSA+3DES:AES128-SHA:!ADH:!AECDH:!MD5;
ssl_prefer_server_ciphers on;
ssl_certificate /etc/letsencrypt/live/example.co.uk/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.co.uk/privkey.pem;
server_name example.co.uk;
root /var/www/vhosts/example.co.uk/htdocs;
access_log /var/www/vhosts/example.co.uk/access.log;
error_log /var/www/vhosts/example.co.uk/error.log;
index index.php index.html;
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
auth_basic off;
allow all;
log_not_found off;
access_log off;
}
# Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac).
location ~ /\. {
deny all;
access_log off;
log_not_found off;
}
##
# Gzip Settings
##
gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 1;
gzip_buffers 16 8k;
gzip_http_version 1.0;
gzip_types application/json text/css application/javascript;
rewrite ^/[a-zA-Z][a-zA-Z]/(index\.php.*)$ /$1 last; #Remove language code when index.php is called directly
rewrite ^/api/?(.*)$ /webservice/dispatcher.php?url=$1 last;
rewrite ^/([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$1$2$3.jpg last;
rewrite ^/([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$1$2$3$4.jpg last;
rewrite ^/([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$1$2$3$4$5.jpg last;
rewrite ^/([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg last;
rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg last;
rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg last;
rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg last;
rewrite ^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9$10.jpg last;
rewrite ^/c/([0-9]+)(-[.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+.jpg$ /img/c/$1$2$3.jpg last;
rewrite ^/c/([a-zA-Z_-]+)(-[0-9]+)?/.+.jpg$ /img/c/$1$2.jpg last;
location /admin/ { #Change this to your admin folder
if (!-e $request_filename) {
rewrite ^/.*$ /admin/index.php last; #Change this to your admin folder
}
}
location / {
if (!-e $request_filename) {
rewrite ^/.*$ /index.php last;
}
}
location ~ .php$ {
fastcgi_split_path_info ^(.+.php)(/.*)$;
try_files $uri =404;
fastcgi_keep_conn on;
include /etc/nginx/fastcgi_params;
fastcgi_pass examplecoukbackend; #Change this to your PHP-FPM location
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
Fichier journal ci-dessous, IPs et nom de domaine généralisés :
2017/01/08 21:58:00 [notice] 21867#21867 : 1 "^/([0-9])(-[_a-zA-Z0-9-]) ) ?(-[0-9]+)?/.+.jpg$" ne correspond pas à "/index.php", client : 0.0.0.0, serveur : exemple.co.uk, requête : "GET /index.php HTTP/1.1", hôte : "exemple.fr". 2017/01/08 21:58:00 [notice] 21867#21867 : 1 "^/([0-9])([0-9])(-[_a-zA-Z0-9-] ) ?(-[0-9]+)?/.+.jpg$" ne correspond pas à "/index.php", client : 0.0.0.0, serveur : exemple.co.uk, requête : "GET /index.php HTTP/1.1", hôte : "exemple.fr". 2017/01/08 21:58:00 [notice] 21867#21867 : 1 "^/([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-] ) ?(-[0-9]+)?/.+.jpg$" ne correspond pas à "/index.php", client : 0.0.0.0, serveur : example.co.uk, requête : "GET /index.php HTTP/1.1", hôte : "exemple.fr". 2017/01/08 21:58:00 [notice] 21867#21867 : 1 "^/([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-] ) ?(-[0-9]+)?/.+.jpg$" ne correspond pas à "/index.php", client : 0.0.0.0, serveur : example.co.uk, requête : "GET /index.php HTTP/1.1", hôte : "exemple.fr". 2017/01/08 21:58:00 [notice] 21867#21867 : 1 "^/([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-] ) ?(-[0-9]+)?/.+.jpg$" ne correspond pas à "/index.php", client : 0.0.0.0, serveur : example.co.uk, requête : "GET /index.php HTTP/1.1", hôte : "exemple.fr". 2017/01/08 21:58:00 [notice] 21867#21867 : 1 "^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-] ) ?(-[0-9]+)?/.+.jpg$" ne correspond pas à "/index.php", client : 0.0.0.0, serveur : exemple.co.uk, requête : "GET /index.php HTTP/1.1", hôte : "exemple.fr". 2017/01/08 21:58:00 [notice] 21867#21867 : 1 "^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-] ) ?(-[0-9]+)?/.+.jpg$" ne correspond pas à "/index.php", client : 0.0.0.0, serveur : example.co.uk, requête : "GET /index.php HTTP/1.1", hôte : "exemple.fr". 2017/01/08 21:58:00 [notice] 21867#21867 : 1 "^/([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(-[_a-zA-Z0-9-] ) ?(-[0-9]+)?/.+.jpg$" ne correspond pas à "/index.php", client : 0.0.0.0, serveur : example.co.uk, requête : "GET /index.php HTTP/1.1", hôte : "exemple.fr". 2017/01/08 21:58:00 [notice] 21867#21867 : 1 "^/c/([0-9]+)(-[. _a-zA-Z0-9-]*)(-[0-9]+)?/.+.jpg$" ne correspond pas à "/index.php", client : 0.0.0.0, serveur : example.co.uk, requête : "GET /index.php HTTP/1.1", hôte : "exemple.fr". 2017/01/08 21:58:00 [notice] 21867#21867 : *1 "^/c/([a-zA-Z_-]+)(-[0-9]+)?/.+.jpg$" ne correspond pas à "/index.php", client : 0.0.0.0, serveur : example.co.uk, requête : "GET /index.php HTTP/1.1", hôte : "exemple.fr".
0 votes
Qui a écrit cette configuration ? C'est assez bizarre. On dirait que quelqu'un qui n'a aucune expérience avec nginx l'a écrite. Est-ce ce que prestashop a recommandé ?
0 votes
C'est sur plusieurs sites différents, prestashop n'a pas encore publié la mise à jour de la configuration pour la 1.7, d'après ce qu'il semble, le bit de réécriture était de la configuration 1.6.
0 votes
C'est vraiment effrayant.
0 votes
D'ici - github.com/MattLoyeD/Prestashop-Nginx/blob/master/
1 votes
Celui-là n'a pas l'air mal. Mais bien sûr, vous devez comprendre ce qui se passe. Copier et coller des choses au hasard sans les comprendre ne vous apportera que douleur et frustration.
0 votes
Quelles sont les réécritures réelles que le serveur web envoie ?
0 votes
J'ai activé rewrite_log et même avec la longue liste de réécritures commentée, il y a trop de redirections mais aucune n'est enregistrée, lorsque la longue liste est activée, beaucoup de réécritures sont enregistrées, je me demande si c'est dû à l'application. Je vais joindre le fichier de log pour la version non commentée.
0 votes
Activer le ssl pour toutes les pages a fonctionné pour moi. stackoverflow.com/questions/41718937/