8383 sujets

Développement web côté serveur, CMS

Bonjour,
l'url de notre site est de la forme:
https://www.domain.fr/unbeausite/.......
Il est aussi accessible par https://domain.fr/unbeausite/.......
Nous voudrions forcer les www et la redirection vers le sous dossier
https://domain.fr/ ou https://domain.fr/unbeausite ou https://www.domain.fr doivent mener vers
https://www.domain.fr/unbeausite


Après avoir googlé ci et là il semblerait qu'il faille enchainer 2 redirections
RewriteEngine on
RewriteRule ^$ /unbeausite
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^  http://www.%{HTTP_HOST}%{REQUEST_URI}  [L,R=301]


Et la question est: N'y aurait-il pas moyen de faire plus simple?

Merci d'avance pour vos conseils
Modifié par gilbertdelyon (18 May 2021 - 19:20)
Je me réponds à moi-même
Après qqs investigatons et tests sur https://htaccess.madewithlove.be/#top
Il semblerait que le code ci-dessus ne fonctionne pas
En revanche celui si est plus concis et fonctionne très bien
RewriteEngine on

# chemin commence par "unbeausite"suivi de "/qqchose" OU suivi de rien du tout
RewriteRule ^unbeausite(/.*|)$   https://www.domain.fr/%{REQUEST_URI}  [R=301,L]

# chemin ne commence PAS par "unbeausite" (règle précédente non satisfaite)
RewriteRule ^   https://www.domain.fr/unbeausite  [R=301]

Modifié par gilbertdelyon (20 May 2021 - 09:44)
Salut Smiley smile

gilbertdelyon a écrit :
Et la question est: N'y aurait-il pas moyen de faire plus simple?


On peut généralement très facilement rediriger un domaine vers un sous-dossier directement depuis l'interface de son hébergeur.

Chez OVH, il y a un guide par exemple, comme chez la plupart des autres hébergeurs.

Une autre solution consisterait d'effectuer une redirection avec PHP directement dans le fichier index.php du répertoire www.

Ces solutions ne sont pas forcément meilleures mais elles ont le mérite d'être très simple. Je préfère cependant effectuer ce genre de choses depuis le fichier .htaccess qui permet de faire pas mal d'autres choses intéressantes Smiley smile