THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline

#1 [Résolu] - Http vers Https

(01-02-2017 09:31:24)


Bonjour,

J'aimerais effectuer une redirection http vers https sur mon thelia et j'ai fait la mise en place du code en question dans le fichier .htaccess ?
Et il n'y a rien qui se passe .

Last edited by Mikius (01-02-2017 09:56:22)

Offline


Hello,

Tu as mis quoi comme code exactement ?

Offline


Les directives qui marchent bien pour mes boutiques :

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteCond %{HTTPS} off
    RewriteCond %{HTTP:X-Forwarded-Proto} !https
    # First rewrite to HTTPS:
    # Don't put www. here. If it is already there it will be included, if not
    # the subsequent rule will catch it.
    RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

    # SEO, add the subdomain www in URL
    # Exemple : http://yourdomain.com/contact redirect 301 to http://www.yourdomain.com/contact
    # To activate uncomment the following two lines
    RewriteCond %{HTTP_HOST} ^yourdomain.fr$
    RewriteRule ^(.*)$ https://www.yourdomain.fr/$1 [QSA,L,R=301]
    ....
</IfModule>

OpenStudio Toulouse

Offline


# RewriteEngine on
# RewriteCond %{HTTPS} !=on
# RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.eshop-dove.fr/web/$1 [R,L]

Offline


Merci

Je mets tout cela dans mon fichier .htaccess c'est ça ?

Last edited by Mikius (01-02-2017 09:51:49)

Offline


Merci beaucoup ça fonctionne parfaitement

Offline


Bonjour, j'aimerais moi aussi passer au https,  j'ai bien mis ce code dans mon .htaccess, le https est bien présent lorsque j'appelle mon site par contre lorsque je navigue à l’intérieur du site le https disparait....

y a t il un autre endroit que le htaccess qu'il faut modifier?

merci pour vos retours

Offline


Il faut vérifier dans Configuration -> gestion des variables que la variable "url_site" contient bien l'URL https de la boutique.


OpenStudio Toulouse

Offline


Bonjour,

Je viens de passer la boutique en protocole SSL.
La console de Chrome m'indique que j'ai une erreur avec le script suivant  dans le template index :

*<script language="JavaScript" type="text/javascript" src="js/wz_tooltip.js"></script>

A quoi sert-il ?

Puis-je le supprimer ?

Merci,

Amicalement,

TS

Last edited by tsabot (17-03-2017 14:42:55)


TS Editions Thisa

Offline


j'ai une erreur

Laquelle ?


OpenStudio Toulouse

Offline


Celle-ci :

Failed to load resource: the server responded with a status of 404 (Not Found)
https://www.editions-thisa.fr/favicon.ico Failed to load resource: the server responded with a status of 404 (Not Found)

Je ne sais pas à quoi sert ce script, mais si je le supprime, il ne se passe rien de particulier.

Last edited by tsabot (17-03-2017 15:16:08)


TS Editions Thisa

Offline


L'erreur affichée (le fichier favicon.ico n'existe pas) n'a rien à voir avec ce script, qui sert à fabriquer de "jolis" tooltips.


OpenStudio Toulouse

Offline


ok, en tout cas j'ai supprimé le script et tout va bien.

Par ailleurs, j'ai réussi à configurer le fichier htaccess et là aussi tout va bien

Bon week-end,

Thierry


TS Editions Thisa

Offline


Hello!

Après des heures de recherche, je suis ENFIN tombé sur ce post...

Donc MERCI à roadster pour sa redirection qui fonctionne nickel!

Par contre... mon js ne se load plus.. :'(


.htaccess :

<IfModule mod_rewrite.c>
RewriteEngine on

RewriteBase /

RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteCond %{HTTP_HOST} ^example.fr$
RewriteRule ^(.*)$ https://www.example.fr/$1 [QSA,L,R=301]

SetEnv SESSION_USE_TRANS_SID 0

##########################
#ANCIENNES PAGES DU SITE
#TRAITEES DANS PLUGIN REWRITEURLS
##########################

##########################
#NOUVELLES PAGES DU SITE

RewriteCond %{REQUEST_URI} !blog(.*)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule	^(.*) /index.php?url=$1  [NC,QSA,L]
##########################
</IfModule>

Et quand je vais à l'url du js :

firefox wrote:

La page n’est pas redirigée correctement

Firefox a détecté que le serveur redirige la demande pour cette adresse d’une manière qui n’aboutira pas.


Une idée? Une solution?


Aide les autres, ils t'aideront en retour.

Offline


Il faudrait connaître ta version de Thélia, si tu as des plugins particulier d'activés et surtout l'URL de ton JS

Offline


Je pense que le souci provient de la mise en cache des fichiers via le .htaccess :

# MOD_DEFLATE COMPRESSION
<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-javascript application/x-httpd-php
</IfModule>

# BEGIN Expire headers
<IfModule mod_expires.c>
 ExpiresActive On
 ExpiresDefault "access plus 7200 seconds"
 ExpiresByType image/jpg "access plus 2592000 seconds"
 ExpiresByType image/jpeg "access plus 2592000 seconds"
 ExpiresByType image/png "access plus 2592000 seconds"
 ExpiresByType image/gif "access plus 2592000 seconds"
 AddType image/x-icon .ico
 ExpiresByType image/ico "access plus 2592000 seconds"
 ExpiresByType image/icon "access plus 2592000 seconds"
 ExpiresByType image/x-icon "access plus 2592000 seconds"
 ExpiresByType text/css "access plus 2592000 seconds"
 ExpiresByType text/javascript "access plus 2592000 seconds"
 ExpiresByType text/html "access plus 7200 seconds"
 ExpiresByType application/xhtml+xml "access plus 7200 seconds"
 ExpiresByType application/javascript A259200
 ExpiresByType application/x-javascript "access plus 2592000 seconds"
 ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
</IfModule>
# END Expire headers

# BEGIN Cache-Control Headers
<IfModule mod_headers.c>
 <FilesMatch "\\.(ico|jpe?g|png|gif|swf|gz|ttf)$">
 Header set Cache-Control "max-age=2592000, public"
 </FilesMatch>
 <FilesMatch "\\.(css)$">
 Header set Cache-Control "max-age=2592000, public"
 </FilesMatch>
 <FilesMatch "\\.(js)$">
 Header set Cache-Control "max-age=2592000, private"
 </FilesMatch>
<filesMatch "\\.(html|htm)$">
Header set Cache-Control "max-age=7200, public"
</filesMatch>
# Disable caching for scripts and other dynamic files
<FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$">
Header unset Cache-Control
</FilesMatch>
</IfModule>
# END Cache-Control Headers

# KILL THEM ETAGS
Header unset ETag
FileETag none

Parce que du coup, dans l'admin, en https ou même en http ça foire l'appel au js... (qui sont redirigé vers leur propre url en https en boucle...)

NB : je suis en V 1.5.4.1

Last edited by Elyos (24-03-2017 15:29:20)


Aide les autres, ils t'aideront en retour.

Offline


Et sur le front maintenant ça marche.... (sans modification aucune...)


Aide les autres, ils t'aideront en retour.

Offline


C'est bizarre que juste en passant en https, les fichiers (scripts js notamment) ne se loadent plus... et bouclent sur eux même en redirection...


Aide les autres, ils t'aideront en retour.

Offline


Je m'arrache les cheveux... :'(


Aide les autres, ils t'aideront en retour.

Offline


Bonsoir,

En ce qui me concerne, dans le fichier htaccess, j'ai juste ajouté ces 3 lignes :

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301]

et toutes les redirections se passent super bien, je n'ai aucun souci.


TS Editions Thisa

Offline


A la base mon .htacess c'était ça :

# MOD_DEFLATE COMPRESSION
<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-javascript application/x-httpd-php
</IfModule>

# BEGIN Expire headers
<IfModule mod_expires.c>
 ExpiresActive On
 ExpiresDefault "access plus 7200 seconds"
 ExpiresByType image/jpg "access plus 2592000 seconds"
 ExpiresByType image/jpeg "access plus 2592000 seconds"
 ExpiresByType image/png "access plus 2592000 seconds"
 ExpiresByType image/gif "access plus 2592000 seconds"
 AddType image/x-icon .ico
 ExpiresByType image/ico "access plus 2592000 seconds"
 ExpiresByType image/icon "access plus 2592000 seconds"
 ExpiresByType image/x-icon "access plus 2592000 seconds"
 ExpiresByType text/css "access plus 2592000 seconds"
 ExpiresByType text/javascript "access plus 2592000 seconds"
 ExpiresByType text/html "access plus 7200 seconds"
 ExpiresByType application/xhtml+xml "access plus 7200 seconds"
 ExpiresByType application/javascript A259200
 ExpiresByType application/x-javascript "access plus 2592000 seconds"
 ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
</IfModule>
# END Expire headers

# BEGIN Cache-Control Headers
<IfModule mod_headers.c>
 <FilesMatch "\\.(ico|jpe?g|png|gif|swf|gz|ttf)$">
 Header set Cache-Control "max-age=2592000, public"
 </FilesMatch>
 <FilesMatch "\\.(css)$">
 Header set Cache-Control "max-age=2592000, public"
 </FilesMatch>
 <FilesMatch "\\.(js)$">
 Header set Cache-Control "max-age=2592000, private"
 </FilesMatch>
<filesMatch "\\.(html|htm)$">
Header set Cache-Control "max-age=7200, public"
</filesMatch>
# Disable caching for scripts and other dynamic files
<FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$">
Header unset Cache-Control
</FilesMatch>
</IfModule>
# END Cache-Control Headers

# KILL THEM ETAGS
Header unset ETag
FileETag none

Options -Indexes +FollowSymlinks

ErrorDocument 401 /
ErrorDocument 403 http://www.example.com/
ErrorDocument 404 /

AddDefaultCharset UTF-8

<IfModule mod_rewrite.c>
RewriteEngine on

RewriteBase /

#RewriteCond %{HTTP_HOST} !^www$
#RewriteRule ^(.*) http://www.example.com$1 [L,R=301]

SetEnv SESSION_USE_TRANS_SID 0

##########################
#ANCIENNES PAGES DU SITE
#TRAITEES DANS PLUGIN REWRITEURLS
##########################

##########################
#NOUVELLES PAGES DU SITE

RewriteCond %{REQUEST_URI} !blog(.*)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule	^(.*) /index.php?url=$1  [NC,QSA,L]
##########################
</IfModule>

J'ai modifié en ça :

# MOD_DEFLATE COMPRESSION
<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-javascript application/x-httpd-php
</IfModule>

# BEGIN Expire headers
<IfModule mod_expires.c>
 ExpiresActive On
 ExpiresDefault "access plus 7200 seconds"
 ExpiresByType image/jpg "access plus 2592000 seconds"
 ExpiresByType image/jpeg "access plus 2592000 seconds"
 ExpiresByType image/png "access plus 2592000 seconds"
 ExpiresByType image/gif "access plus 2592000 seconds"
 AddType image/x-icon .ico
 ExpiresByType image/ico "access plus 2592000 seconds"
 ExpiresByType image/icon "access plus 2592000 seconds"
 ExpiresByType image/x-icon "access plus 2592000 seconds"
 ExpiresByType text/css "access plus 2592000 seconds"
 ExpiresByType text/javascript "access plus 2592000 seconds"
 ExpiresByType text/html "access plus 7200 seconds"
 ExpiresByType application/xhtml+xml "access plus 7200 seconds"
 ExpiresByType application/javascript A259200
 ExpiresByType application/x-javascript "access plus 2592000 seconds"
 ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
</IfModule>
# END Expire headers

# BEGIN Cache-Control Headers
<IfModule mod_headers.c>
 <FilesMatch "\\.(ico|jpe?g|png|gif|swf|gz|ttf)$">
 Header set Cache-Control "max-age=2592000, public"
 </FilesMatch>
 <FilesMatch "\\.(css)$">
 Header set Cache-Control "max-age=2592000, public"
 </FilesMatch>
 <FilesMatch "\\.(js)$">
 Header set Cache-Control "max-age=2592000, private"
 </FilesMatch>
<filesMatch "\\.(html|htm)$">
Header set Cache-Control "max-age=7200, public"
</filesMatch>
# Disable caching for scripts and other dynamic files
<FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$">
Header unset Cache-Control
</FilesMatch>
</IfModule>
# END Cache-Control Headers

# KILL THEM ETAGS
Header unset ETag
FileETag none

Options -Indexes +FollowSymlinks

ErrorDocument 401 /
ErrorDocument 403 http://www.example.com/
ErrorDocument 404 /

AddDefaultCharset UTF-8

<IfModule mod_rewrite.c>
RewriteEngine on

RewriteBase /

RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteCond %{HTTP_HOST} ^example.com$
RewriteRule ^(.*)$ https://www.example.com/$1 [QSA,L,R=301]

SetEnv SESSION_USE_TRANS_SID 0

##########################
#ANCIENNES PAGES DU SITE
#TRAITEES DANS PLUGIN REWRITEURLS
##########################

##########################
#NOUVELLES PAGES DU SITE

RewriteCond %{REQUEST_URI} !blog(.*)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule	^(.*) /index.php?url=$1  [NC,QSA,L]
##########################
</IfModule>

Et là j'ai des soucis concernant certains fichiers js qui parfois se chargent correctement et d'autres fois bouclent sur eux mêmes en 301...

c'est à n'y rien comprendre...


Aide les autres, ils t'aideront en retour.

Offline


Essaie de repartir d'un fichier htaccess simple, et ajoute progressivement les règles jusqu'à trouver celle qui pose problème.

Mais bon, j'airais tendance à inverser tes règles de redirection, pour avoir :

    # Forcer le sous domaine www
    RewriteCond %{HTTP_HOST} !^www.example.fr$
    RewriteRule ^(.*) https://www.example.fr/$1 [QSA,L,R=301]

    # Forcer le HTTPS
    RewriteCond %{SERVER_PORT} 80
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Et n'oublie pas de fermer complètement (quitter) ton navigateur entre deux essais, il me semble qu'il mémorise les redirections.


OpenStudio Toulouse

Offline


Merci Roadster !

Offline


Je reviens sur ce fil de discussion. Est-ce que le fichier .htaccess est bien celui situé dans le dossier /web qu'il faut modifier ? Pas besoin de mettre à la racine du site ?

Offline


Il faut modifier le .htaccess qui se trouve à la racine de ton site. Si ton domaine pointe sur /web, alors c'est celui qui est dans /web


OpenStudio Toulouse