Jump to content
merguez

[Configuration des URL] Rediriger vers l'URL canonique

Recommended Posts

Bonjour à la communauté Presta,

 

Je vous contacte au sujet de l'option Rediriger vers l'URL canonique de la rubrique Préférences > SEO & URLS.

Le back-office est configuré avec la valeur redirection 301 au niveau de la liste déroulante.

 

Jusqu'à présent cela ne me posait pas de problème car lorsque je saisissais http://monsite.com/, j'étais redirigé vers http://www.monsite.com/.

 

Or aujourd'hui, j'ai installé un certificat SSL et cette option de redirection vers l'URL canonique renvoie donc http://monsite.com/ vers http://www.monsite.com/ qui redirige ensuite vers https://www.monsite.com/.
Alors que http://monsite.com/ devrait rediriger vers https://monsite.com/ et ensuite vers https://www.monsite.com/.

 

Ceci est d'ailleurs confirmé par ce site : https://hstspreload.org/

Voici une capture de l'erreur :

0vPb7V.jpg

Avez-vous rencontré ce problème également s'il vous plaît ?

 

Merci par avance pour vos conseils. :rolleyes:

 

Bien à vous,

merguez

Edited by merguez (see edit history)

Share this post


Link to post
Share on other sites

L'erreur reporté par hstspreload concernant www first est idiote. cela prend un round trip de plus pour un navigateur supportant HSTS (donc tous) qui ensuite n'aura pas de round trip (puisque HSTS et 301)

Après la seconde est louche, tu as bien activé ssl partout dans ton prestashop?

Share this post


Link to post
Share on other sites

Bonsoir doekia et encore merci pour cette nouvelle réponse !

 

Voici les seuls changements effectués :

EyZrfR.jpg

 

Est-ce suffisant ?

 

Voici les lignes rajoutés au sein du .htaccess avant les lignes PrestaShop :

<IfModule mod_headers.c>
Header set Strict-Transport-Security "max-age=604800; includeSubDomains" env=HTTPS
Header set Set-Cookie HttpOnly;Secure
Header always set X-FRAME-OPTIONS "DENY"
</IfModule>

Merci beaucoup.

 

merguez

Share this post


Link to post
Share on other sites

quelle est ton url?

version exacte de ton prestashop?

Share this post


Link to post
Share on other sites

Bonjour doekia,

PrestaShop 1.6.1.1

Je te donne en MP l'url.

 

Merci beaucoup.

 

Bien à toi,

merguez

Share this post


Link to post
Share on other sites

Vire déjà cela:

Header set Set-Cookie HttpOnly;Secure

 

ce n'est pas une syntaxe reconnu

Share this post


Link to post
Share on other sites

Les cookies sont déjà nativement httponly et secure.
 
Bon je viens de regarder tu as les redirection suivantes:
 

wget -S -O /dev/null http://xxxxxx.com
  HTTP/1.1 301 Moved Permanently
  Set-Cookie: startBAK=R3415743754; path=/; expires=Tue, 04-Jul-2017 09:45:20 GMT
  Date: Tue, 04 Jul 2017 08:29:36 GMT
  Content-Type: text/html; charset=utf-8
  Transfer-Encoding: chunked
  Set-Cookie: start=R118784140; path=/; expires=Tue, 04-Jul-2017 09:42:28 GMT
  Server: Apache
  X-Powered-By: PHP/5.6.30
  X-FRAME-OPTIONS: DENY
  Location: http://www.xxxxxxx.com/
  Vary: Accept-Encoding
  X-IPLB-Instance: 807
 wget -S -O /dev/null http://www.xxxxx.com
  HTTP/1.1 301 Moved Permanently
  Set-Cookie: startBAK=R3415748110; path=/; expires=Tue, 04-Jul-2017 09:43:32 GMT
  Date: Tue, 04 Jul 2017 08:35:20 GMT
  Content-Type: text/html; charset=utf-8
  Transfer-Encoding: chunked
  Set-Cookie: start=R118784140; path=/; expires=Tue, 04-Jul-2017 09:44:10 GMT
  Server: Apache
  X-Powered-By: PHP/5.6.30
  Cache-Control: no-cache
  X-FRAME-OPTIONS: DENY
  Location: https://www.xxxxx.com/
  Vary: Accept-Encoding
  X-IPLB-Instance: 506

Donc, oui il existe une redirection vers le www  en 1er, puis en https en second, mais c'est avant que Prestashop ne démarre.

Donc soit dans le .htaccess, soit encore avant dans la bouzine à méthane de OVH.

Quand c'est Prestashop, qui répond je reçois son cookie, c'est le cas lors de mon 3eme appel (dialogue complet)

--2017-07-04 10:40:53--  http://XXXXXXXXXXXXXX.com/
Resolving XXXXXXXXXXXXXX.com (XXXXXXXXXXXXXX.com)... 213.186.33.87, 2001:41d0:1:1b00:213:186:33:87
Connecting to XXXXXXXXXXXXXX.com (XXXXXXXXXXXXXX.com)|213.186.33.87|:80... connected.
HTTP request sent, awaiting response... 
  HTTP/1.1 301 Moved Permanently
  Set-Cookie: startBAK=R3415750288; path=/; expires=Tue, 04-Jul-2017 09:42:28 GMT
  Date: Tue, 04 Jul 2017 08:40:55 GMT
  Content-Type: text/html; charset=utf-8
  Transfer-Encoding: chunked
  Set-Cookie: start=R118784140; path=/; expires=Tue, 04-Jul-2017 09:42:28 GMT
  Server: Apache
  X-Powered-By: PHP/5.6.30
  X-FRAME-OPTIONS: DENY
  Location: http://www.XXXXXXXXXXXXXX.com/
  Vary: Accept-Encoding
  X-IPLB-Instance: 359
Location: http://www.XXXXXXXXXXXXXX.com/ [following]
--2017-07-04 10:40:55--  http://www.XXXXXXXXXXXXXX.com/
Resolving www.XXXXXXXXXXXXXX.com (www.XXXXXXXXXXXXXX.com)... 213.186.33.87, 2001:41d0:1:1b00:213:186:33:87
Reusing existing connection to XXXXXXXXXXXXXX.com:80.
HTTP request sent, awaiting response... 
  HTTP/1.1 301 Moved Permanently
  Set-Cookie: startBAK=R3415748110; path=/; expires=Tue, 04-Jul-2017 09:44:36 GMT
  Date: Tue, 04 Jul 2017 08:40:57 GMT
  Content-Type: text/html; charset=utf-8
  Transfer-Encoding: chunked
  Set-Cookie: start=R118784140; path=/; expires=Tue, 04-Jul-2017 09:44:10 GMT
  Server: Apache
  X-Powered-By: PHP/5.6.30
  Cache-Control: no-cache
  X-FRAME-OPTIONS: DENY
  Location: https://www.XXXXXXXXXXXXXX.com/
  Vary: Accept-Encoding
  X-IPLB-Instance: 359
Location: https://www.XXXXXXXXXXXXXX.com/ [following]
--2017-07-04 10:40:57--  https://www.XXXXXXXXXXXXXX.com/
Connecting to www.XXXXXXXXXXXXXX.com (www.XXXXXXXXXXXXXX.com)|213.186.33.87|:443... connected.
HTTP request sent, awaiting response... 
  HTTP/1.1 200 OK
  Set-Cookie: start=R118784140; path=/; expires=Tue, 04-Jul-2017 09:44:36 GMT
  Date: Tue, 04 Jul 2017 08:40:57 GMT
  Server: Apache
  X-Powered-By: PHP/5.6.30
  P3P: CP="IDC DSP COR CURa ADMa OUR IND PHY ONL COM STA"
  Powered-By: PrestaShop
  Set-Cookie: PrestaShop-f55376ed06851a7460f613978670ecb9=tRfDoTLJR9VxZC%2FDmFg5G2PVziw9kiqVe4nI6gE5zDHfrQnO%2Bt7u3jJD8KAkZdG01ste81r5SU9UBXfrXNgc1SnzyuRlzH3hOkcinKrFD2Z5rVQWFNVIo%2BXawXvzOgMekCyY0oolppPgLiU9W3wOSpxIz2KIkGoPW2VPTiJFGkQ%3D000116; expires=Mon, 24-Jul-2017 08:40:59 GMT; Max-Age=1728000; path=/; domain=www.XXXXXXXXXXXXXX.com; secure; httponly
  X-FRAME-OPTIONS: DENY
  Strict-Transport-Security: max-age=604800; includeSubDomains
  Vary: Accept-Encoding
  Transfer-Encoding: chunked
  Content-Type: text/html; charset=utf-8
  X-IPLB-Instance: 358
Length: unspecified [text/html]
Saving to: ‘/dev/null’

Share this post


Link to post
Share on other sites

Je peux lire dans un post précédent auquel tu as contribué ceci :

 

Tes urls vont changer de http en https (toutes dans le cas de l'activation partout qui est d'ailleurs recommandé)

Tu vas créer un nouveau suivi dans ta webmastertools avec https

Tu mettras en place une redirection 301 de http vers https (un partie est automatique pas le coeur PS mais pas tout)

Tu mettras en place une entête HSTS afin que les navigateurs des internautes trouvent plus vite

Tu vas devoir t'assurer que tous les services tiers qui viennent sur ta boutique (banque, market place, ...) ont bien été configuré avec https

 

Je n'ai pas ajouté de redirection supplémentaire à celles créées par PrestaShop. Est-ce que j'aurais dû selon toi ?

 

Merci.

 

Bien à toi,

merguez

Share this post


Link to post
Share on other sites

doekia,

 

Merci infiniment pour ce rapport très détaillé et pour le temps que tu me consacres.

 

Alors au niveau d'OVH voici la configuration ultra standard :

VpCohq.jpg

 

Le .htaccess est celui de Presta mis à part les lignes header concernant HSTS.

Crois-tu que j'ai à le régénérer dans le BO peut-être en désactivant/réactivant la réécriture d'url ?

 

Bien à toi,

merguez

Share this post


Link to post
Share on other sites

Oui mais là il existe un redirection avant que le coeur de prestashop ne se lance.

OVH a sûrement un truc à bling bling devant, impossible à savoir et ils nieront.

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_METHOD} =GET
    RewriteCond %{HTTPS} !=on
    RewriteRule (.*) https://www.XXXXXXXXXXXXXXX.com%{REQUEST_URI} [R=301,L]
</IfModule>

Seul inconvénient tu fais des 301 sur de future 404 quand l'url envoyée est foireuse.

Share this post


Link to post
Share on other sites

Bonjour

suite a un changement d'url , je suis passé de . info(version test) à .fr ( version prod)

j'ai se message d’erreur

Vous êtes actuellement connecté avec le nom de domaine suivant xxxxx.fr
Celui-ci est différent du nom de domaine défini dans l'onglet "SEO & URL". S'il s'agit de votre nom de domaine principal, veuillez le changer maintenant

De plus mon module visual composer qui ne marche plus trés bien depuis la redirection faite....

HELP!!

Edited by gko666 (see edit history)

Share this post


Link to post
Share on other sites

doekia,

 

J'ai eu un retour d'OVH et j'étais passé au travers d'une redirection toutes mes excuses ! :blink:

Il s'agit d'une redirection de type TXT :

nUuTl1.jpg

 

Merci.

 

Bien à toi,

merguez

Share this post


Link to post
Share on other sites

Bonjour à tous,

 

Malheureusement, la suppression de l'enregistrement TXT n'a rien changé au problème et OVH s'en lave les mains effectivement.

 

 

La redirection vers http://www.monsite.com s'effectue en mode Rewrite de type 301 depuis votre fichier .htaccess présent dans le répertoire : /www/.htaccess
C'est donc à ce niveau qu'il vous faudra vous rendre pour la supprimer. Cela concerne le développement de votre site et donc tout dépend de votre configuration.
Nous ne pouvons malheureusement pas vous répondre pour ce genre de question car cela est hors-support.

 

EDIT : je suis tombé sur ce lien qui peut peut-être aidé : https://www.how-to.ovh/viewtopic.php?f=16&t=42#p704

 

Bien cordialement,

merguez

Edited by merguez (see edit history)

Share this post


Link to post
Share on other sites

Maintenant que la redirection www| a été enlevé, je viens de tester, seule la redirection Prestashop est à l'oeuvre donc http://monsite.com va directement sur https://www.monsite.com, en 301

Donc parfait.

1 seul round trip et seulement quand l'url n'est pas la bonne

Share this post


Link to post
Share on other sites

Bonjour doekia,

 

Merci, voici ce que j'ai ajouté au .htaccess en fin de compte :

#force la redirection en HTTPS
RewriteEngine on
RewriteCond %{SERVER_PORT} 80 [OR]
RewriteCond %{HTTP_HOST} ^monsite\.com$ [NC]
RewriteRule ^(.*) https://www.monsite.com/$1 [QSA,L,R=301]

http://monsite.com ne passe pas par l'intermédiaire https://monsite.com avant d'ajouter les www. comme me le suggère Google mais cela n'est peut-être pas bloquant.

 

EDIT : L'erreur est effectivement toujours bloquante :

syEKzS.jpg

 

merguez

Edited by merguez (see edit history)

Share this post


Link to post
Share on other sites

Je t'ai déjà dit que c'était stupide comme erreur. Aucun interrêt de faire faire 2 aller-retour quand 1 seul suffit.

Et, je te conseille fortement de filtrer sur la méthode GET

Share this post


Link to post
Share on other sites

doekia,

 

Merci.

 

J'ajoute donc cette syntaxe après le RewriteEngine on c'est cela ?

RewriteCond %{REQUEST_METHOD} =GET

Je peux lire que REQUEST_METHOD indique la méthode HTTP de la requête entrante. Mais pourquoi se limiter à la méthode GET du coup ? :unsure:

 

Au sujet de l'erreur remontée par le site HSTS Preload List Submission, cela signifie que je ne pourrais pas être validé dans la liste.

Est-ce quelque chose d'incontournable ou la déclaration HSTS dans le header se suffit à elle-même s'il te plaît ?

 

Merci beaucoup.

 

Bien à toi,

merguez

Share this post


Link to post
Share on other sites

Tu penses vraiment que la liste compilé dans les navigateurs intégrera les 20 milliards de site web qui existent officiellement?

 

Calculons 20 caractères de moyenne: 20 * 20⁹ = 1¹³, avec une compression de 80% ça donne 2¹² octets = 1,9Terra-octets (même avec un bon index, ça va prendre des plombes, plus que d'aller direct sur le site et d'attendre son entête)

Donc tant que nos ordinateurs personnels n'auront pas de disque de cette capacité, seul un nombre assez restreint d'élu seront préloaded

 

 

Su tu tiens vraiment aux voyants verts redirige vers https: / / %{HTTP_HOST}%1 mais bon c'est stupide.

De la même manière j’envoie l'entête HSTS dès le 1er appel même HTTP. Les navigateurs qui supportent sauront déjà quoi faire.

Et pourquoi que GET et bien parce que POST et PUT ne peuvent pas être redirigé (par construction - RFC7230). HEAD ne compte pas ici, puisqu'il faut être déjà venu donc tu es déjà HSTS dans ce cas.

Edited by doekia (see edit history)

Share this post


Link to post
Share on other sites

Bonjour doekia,

 

Je te remercie pour tous ces échanges et le temps consacré car cela est très instructif.

Excellente journée.

 

Bien à toi,

merguez

Edited by merguez (see edit history)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More