Problème réécriture

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics

Stefano
WRInaute impliqué
WRInaute impliqué
 
Messages: 269
Inscription: Dim Fév 12, 2006 11:09

Problème réécriture

Message le Ven Mai 30, 2008 13:02

Bonjour,

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


Code: Tout sélectionner
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: Tout sélectionner
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 accro
WRInaute accro
 
Messages: 1090
Inscription: Dim Juin 17, 2007 20:12

Message le Ven Mai 30, 2008 14:50

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


Code: Tout sélectionner
RewriteOptions inherit

Stefano
WRInaute impliqué
WRInaute impliqué
 
Messages: 269
Inscription: Dim Fév 12, 2006 11:09

Message le Ven Mai 30, 2008 15:13

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 accro
WRInaute accro
 
Messages: 1090
Inscription: Dim Juin 17, 2007 20:12

Message le Ven Mai 30, 2008 15:53

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...

Stefano
WRInaute impliqué
WRInaute impliqué
 
Messages: 269
Inscription: Dim Fév 12, 2006 11:09

Message le Ven Mai 30, 2008 16:03

Vap a écrit: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...


Bonjour,

Tu parles de ça ?

RewriteRule ^(.*) http://www.example.net/$1 [QSA,L,R=301]


Je l'ai enlevé mais rien ne se passe : sans RewriteOptions inherit il n'ajoute pas de www. et avec il renvoie à la page d'accueil

Vap
WRInaute accro
WRInaute accro
 
Messages: 1090
Inscription: Dim Juin 17, 2007 20:12

Message le Ven Mai 30, 2008 18:02

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


Quelle version de Apache utilise tu?

Stefano
WRInaute impliqué
WRInaute impliqué
 
Messages: 269
Inscription: Dim Fév 12, 2006 11:09

Message le Ven Mai 30, 2008 18:13

Merci beaucoup :D , c'est adorable.


Quelle version de Apache utilise tu?


Comment savoir ? :oops:

Vap
WRInaute accro
WRInaute accro
 
Messages: 1090
Inscription: Dim Juin 17, 2007 20:12

Message le Ven Mai 30, 2008 22:58

Tu demande a ton hébergeur,

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

Code: Tout sélectionner
<?php
phpinfo();
?>

Stefano
WRInaute impliqué
WRInaute impliqué
 
Messages: 269
Inscription: Dim Fév 12, 2006 11:09

Message le Sam Mai 31, 2008 12:11

J'ai ça :
Code: Tout sélectionner
Server API    Apache 2.0 Handler

Apache Version    Apache
Apache API Version    20051115

Vap
WRInaute accro
WRInaute accro
 
Messages: 1090
Inscription: Dim Juin 17, 2007 20:12

Message le Sam Mai 31, 2008 19:16

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 accro
WRInaute accro
 
Messages: 1090
Inscription: Dim Juin 17, 2007 20:12

Message le Dim Juin 01, 2008 9:53

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

Code: Tout sélectionner
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 impliqué
WRInaute impliqué
 
Messages: 269
Inscription: Dim Fév 12, 2006 11:09

Message le Dim Juin 01, 2008 13:11

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 accro
WRInaute accro
 
Messages: 1090
Inscription: Dim Juin 17, 2007 20:12

Message le Dim Juin 01, 2008 14:20

Ca marche ches moi en tout cas.

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

Stefano
WRInaute impliqué
WRInaute impliqué
 
Messages: 269
Inscription: Dim Fév 12, 2006 11:09

Message le Dim Juin 01, 2008 17:04

si je tape www.example.com/adresses/adresse-epicerie ça fonctionne. Si je ôte le www. ça me donne une erreur 404.

J'ai mis ce que tu as écrit dans le deuxième .htaccess (celui dans le dossier "adresses"), naturellement en remplaçant example par mon ndd

Vap
WRInaute accro
WRInaute accro
 
Messages: 1090
Inscription: Dim Juin 17, 2007 20:12

Message le Dim Juin 01, 2008 20:12

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.


Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités