8711 sujets

Développement web côté serveur, CMS

Bonjour,

Après avoir cherché pendant deux jours, je suis perdu et j'ai besoin de vos lumières.

Premièrement, mon site web se trouve : monsite.com/dossier/

J'ai donc fait une redirection :
RewriteEngine on

RewriteCond %{HTTP_HOST} ^(www.)?monsite.com$
RewriteCond %{REQUEST_URI} !^/dossier/

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ /dossier/$1

RewriteCond %{HTTP_HOST} ^(www.)?monsite.com$
RewriteRule ^(/)?$ dossier/index.php [L]


Jusqu'ici tout fonctionne. Cependant, je coince sur cela :
je souhaite obliger l'utilisation du www.

Mais quand j'ajoute :
RewriteCond %{HTTP_HOST} ^monsite.com/dossier$
RewriteRule ^(.*)  http://www.monsite.com/dossier/$1  [QSA,L,R=301]


Cela ne fonctionne pas.

Il en est de même pour ce code :
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$  http://www.%{HTTP_HOST}/$1  [R=301,L]


Quand je tape seulement : https://monsite.com, cela me redirige bien sur le www.monsite.com
Mais quand je choisis une page spécifique, il reste sur monsite.com/dossier/mondossier.php

Autrement si je vais dans le htaccess du site web (et non de la racine du serveur)

J'ajoute ceci :
RewriteCond %{HTTP_HOST} ^monsite.com/dossier/ [NC]
RewriteRule ^(.*)$  http://www.monsite.com/dossier/$1  [L,R=301]


Puis que j'actualise ma page web sans le "www".
https://monsite.com/dossier/dossier2/824-monarticle

J'obtiens cela :
https://www.monsite.com/dossier2/824-monarticle

Donc il ne me prend pas en compte le "dossier" quand j'enlève le www. (Je ne sais pas si vous arrivez à me suivre.)

Je suis totalement perdu. Si une personne a une idée pour arriver à faire en sorte que l'utilisation du www soit possible, je suis preneur.

Je vous remercie.
Modifié par Lelouch (05 Feb 2018 - 09:59)
Coucou Lelouch,

Très bizarre en effet... je vois pas bien d'où ça pourrait venir mais si t'es joueur, on peut tenter quelque chose Smiley smile

Tu peux essayer avec ça ?

RewriteEngine on
RewriteCond %{HTTP_HOST} ^monsite.com$
RewriteRule ^(.*)  www.monsite.com/$1  [last,redirect=301]
Bonjour BrainyUP

Un énorme merci pour ton aide !
J'ai oublié de préciser qu'il s'agit d'un site web Joomla.

J'ai donc ajouté ce que tu m'as indiqué dans le .htaccess de mon hébergeur, cela ne changeait rien.

Je l'ai donc enlevé et ajouté sur celui du Joomla, j'obtenais la même erreur, c'est à dire qu'il me supprimait, dans le lien web, le nom du dossier.

J'ai donc ajouté cela :
RewriteEngine On
RewriteCond %{HTTP_HOST} ^monsite.com$
RewriteRule ^(.*)  http://www.monsite.com/dossier/$1   [last,redirect=301]


Le fait d'ajouter le nom du dossier et tout fonctionne !

Mais par je ne sais quel magie, après 10 minutes, cela ne fonctionne plus de nouveau. Bon je n'y comprends plus grand chose. Tant pis, on va rester avec et sans le www même si pour le référencement ce n'est pas super.

Merci encore pour ton aide. Smiley cligne Smiley smile
Modifié par Lelouch (07 Feb 2018 - 00:39)
Bonjour,

Je m'excuse, mais je fais un double post, simplement pour confirmer que cela est de ma faute.
Ayant plusieurs sites Joomla, c'est à cause du fait que mon site web principal n'est pas à la racine de mon hébergeur. C'est un portail où j'ai plusieurs sites sur un même thème général, mais dans des sujets différents. J'ai donc préféré faire un dossier pour chaque site web différent (question pratique).

Réponse que j'ai eu :
Si la redirection ne fonctionne pas, c'est toujours à cause de la configuration de l'hébergement.
Joomla ne peut pas être encore en cause, car justement l'hébergement ne sait pas 'encore' où il se trouve.

Ce qui au final est normal.

Merci pour ton aide BrainyUP. Smiley cligne
Modifié par Lelouch (09 Feb 2018 - 11:07)
De rien Lelouch,

Au final, ce code n'a pas fonctionné mais j'avoue ne pas voir d'erreur.
Une erreur de configuration, ou spécificité Joomla me semble plus probable.

Tenez-nous au courant de la résolution de votre URL rewriting.