redirection htaccess : avec ou sans 3W
Bonjour
Dans le cadre du passage vers https, tout fonctionne bien sauf un répertoire
PB tests avec et sans www
lorsque je supprime www dans l'url, la page de ce répertoire ne se remet pas automatiquement avec www
Dans tous les autres cas cela fonctionne très bien
Cela est dû à un fichier htaccess situé dans ce répertoire , que j'ai réduit au minimum requis :
Code:
1 2 3 4 5 6
| Options +FollowSymlinks
RewriteEngine On
RewriteRule ^theme/([0-9]+)/ /agenda/search.php?mode=theme&id=$1 [L]
RewriteRule ^region/([0-9]+)/ /agenda/search.php?mode=region&id=$1 [L] |
Pour info le code de redirection à la racine et qui envoie bien toutes les pages de htttp vers https:
Code:
1 2 3 4 5 6 7 8 9 10
| Options +FollowSymlinks
Options -Indexes
<IfModule mod_headers.c>
Header set Strict-Transport-Security "max-age=16006000; includeSubDomains; preload"
</IfModule>
Header always set Content-Security-Policy "upgrade-insecure-requests;"
RewriteEngine on
RewriteCond %{SERVER_PORT} 80 [OR]
RewriteCond %{http_host} ^site.com [nc]
RewriteRule ^(.*)$ https://www.site.com/$1 [r=301,nc] |
Le prob c'est que le répertoire en question risque de générer du duplicate content entre avec www et sans www
Merci par avance
redirection htaccess avec ou sans 3W ne fonctionne pas sur une page du site
Petit up concernant ce topic:
En résumé: pourquoi le code suivant empêcherait-il la redirection 301 de fonctionner ?
En effet, si j'enlève le code ci-dessous figurant dans le htaccess du répertoire la redirection (htaccess à la racine) sans www vers avec www fonctionne
Sachant que la redirection http vers https fonctionne avec ou sans ce code
Code:
1 2 3 4 5 6
| Options +FollowSymlinks
RewriteEngine On
RewriteRule ^theme/([0-9]+)/ /agenda/search.php?mode=theme&id=$1 [L]
RewriteRule ^region/([0-9]+)/ /agenda/search.php?mode=region&id=$1 [L] |
Une piste ? est-ce la gestion des id ?
Par avance mercis
redirection htaccess : avec ou sans 3W
Re-bonjour,
Finalement en remettant toutes les instructions dans le répertoire en utilisant un code vu quelques topics précédent sur les redirection vers https, cela semble avoir corrigé le problème:
Cela nécessite donc de remettre deux fois les instructions de redirection, une fois à la racine, une autre fois dans le répertoire, ce procédé est-il bien conforme ?
Je compte sur vous pour me signaler toute éventuelle anomalie :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| Options +FollowSymlinks
Options -Indexes
<IfModule mod_headers.c>
Header set Strict-Transport-Security "max-age=16006000; includeSubDomains; preload"
</IfModule>
Header always set Content-Security-Policy "upgrade-insecure-requests;"
<IfModule mod_rewrite.c>
# Rewrite the URL to force https and www.
RewriteEngine On
# Compliant with hstspreload.org : first redirect to https if needed
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# then redirect to www. when the prefix wasn't mentionned
# hstspreload.org seems to not really like to make the two at once
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{QUERY_STRING} ^id_evenement=[0-9]{1,3}$
ErrorDocument 404 /index.php
</IfModule>
RewriteRule ^theme/([0-9]+)/ /agenda/search.php?mode=theme&id=$1 [L]
RewriteRule ^region/([0-9]+)/ /agenda/search.php?mode=region&id=$1 [L] |
Merci de votre attention