Problème réécriture

Stefano

WRInaute discret
Bonjour,

Dans le fichier .htaccess à la racine de mon site j'ai cette commande pour imposer le www. devant le domaine


Code:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.example.net$
RewriteCond %{HTTP_HOST} !^sousdom.example.net$
RewriteRule ^(.*)   http://www.example.net/$1  [QSA,L,R=301]

Il marche très bien. Sauf que récemment j'ai installé un dotclear pour la rubrique adresses dans un dossier "adresses". Pour obtenir des URL propres j'ai dû ajouter dans le dossier "adresses" le fichier .htaccess suivant :

Code:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /adresses/index.php


Or je viens de remarquer que tous les URL à l'intérieur de ce dossier peuvent être sans ou avec le "www.", j'imagine que le deuxième fichier .hatacces annule le premier. Comme faire pour imposer le "www." aussi dans ce dossier ?


Merci par avance pour vos suggestions.
 

Vap

WRInaute impliqué
Il faut que tu ajoute l'option suivante dans le deuxième .htaccess, apres RewriteEngine On


Code:
RewriteOptions inherit
 

Stefano

WRInaute discret
Merci beaucoup. C'est déjà mieux car si je tape une adresse sans le "www." au lieu de l'ajouter le "www." il renvoie à la page d'accueil. En tout cas j'évite le duplicate content :D

Merci encore.
 

Vap

WRInaute impliqué
Enlève le L a la fin de la règle du premier .htaccess.

Car il dit de ne pas appliquer les autres règles si celle là se déclenche...
 

Vap

WRInaute impliqué
Je regarderai ça ce WE si personne n'a trouvé.


Quelle version de Apache utilise tu?
 

Vap

WRInaute impliqué
Tu demande a ton hébergeur,

ou alors tu regarde ce que donne une page php qui contient:

Code:
<?php
phpinfo();
?>
 

Stefano

WRInaute discret
J'ai ça :
Code:
Server API 	Apache 2.0 Handler

Apache Version 	Apache
Apache API Version 	20051115
 

Vap

WRInaute impliqué
OK c,'est la version 2. Je crois que c'est ce que j'ai chez moi, je regarderai ce soir ou demain.
 

Vap

WRInaute impliqué
Le plus simple est d'ajouter une règle dans ton deuxième .htaccess:

Code:
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} !^www.example.net$
RewriteCond %{HTTP_HOST} !^sousdom.example.net$
RewriteRule  (.*)   http://www.example.net/adresses/$1  [QSA,R=301] 

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /adresses/index.php
 

Stefano

WRInaute discret
J'ai essayé mais au lieu d'ajouter le www. il me donne une erreur 404. Peut-être que mon problème est sans solution. :(

D'ailleurs comme j'avais coché la case domaine favori avec "www." dans le GWT, il ne devrait pas y avoir de problèmes de duplicate content.

En tout cas, merci beaucoup.
 

Vap

WRInaute impliqué
Ca marche ches moi en tout cas.

Quand il te donne une erreur 404, quelle est la page non trouvée?
 

Vap

WRInaute impliqué
Il y a quoi dans la barre d'adresse quand tu as l'erreur 404?

Donne moi ton ndd en MP ca sera plus pratique.
 

Discussions similaires

Haut