Syntaxe RewriteCond et RewriteRule

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

stfn
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 2
Inscription: 1 Oct 2003

Syntaxe RewriteCond et RewriteRule

Message le Jeu Oct 02, 2003 1:57

Bonjour,

Voila j'ai 1 site www.a.com qui est accessible et référencé sur google pas www.a.com,www.b.com et b.com

J'ai bien vu qu'on pouvait utiliser RewriteCond mais je suis pas sur mon htaccess

Le voici

Options +FollowSymlinks
RewriteEngine on

RewriteRule ^zoomflash-(.+)-(.+)-(.+).html$ index.php?page=pages/207.php&laref=$2&pere=$3&titrep=$1
RewriteRule ^flash-(.+)-(.+)-(.+).html$ index.php?page=pages/206.php&deb=$3&pere=$2&titrep=$1
RewriteRule ^logos-(.+)-(.+).html$ index.php?page=pages/202.php&deb=$1&logo=$2
RewriteRule ^(.+)-(.+)-kgd.html$ index.php?page=pages/$2.php
RewriteRule ^(.+)-(.+)-(.+)-(.+).html$ index.php?page=pages/127.php&deb=$2&laref=$3&pere=$4&titrep=$1
RewriteRule ^(.+)-(.+)-(.+).html$ index.php?page=pages/131.php&pere=$2&titrep=$1&deb=$3 [L]

Le
RewriteCond %{HTTP_HOST} !^www.b.com$
RewriteRule ^(.*) http://www.a.com/$1 [QSA,L,R=301]

je le met ou ? je dois retirer le L dans [QSA,L,R=301]

et ajouter aussi
RewriteCond %{HTTP_HOST} !^b.com$
RewriteRule ^(.*) http://www.a.com/$1 [QSA,L,R=301]

Pour conclure est-ce ca marcherai comme ça :

Options +FollowSymlinks
RewriteEngine on

RewriteCond %{HTTP_HOST} !^www.b.com$
RewriteRule ^(.*) http://www.a.com/$1 [QSA,R=301]
RewriteCond %{HTTP_HOST} !^b.com$
RewriteRule ^(.*) http://www.a.com/$1 [QSA,R=301]

RewriteRule ^zoomflash-(.+)-(.+)-(.+).html$ index.php?page=pages/207.php&laref=$2&pere=$3&titrep=$1
RewriteRule ^flash-(.+)-(.+)-(.+).html$ index.php?page=pages/206.php&deb=$3&pere=$2&titrep=$1
RewriteRule ^logos-(.+)-(.+).html$ index.php?page=pages/202.php&deb=$1&logo=$2
RewriteRule ^(.+)-(.+)-kgd.html$ index.php?page=pages/$2.php
RewriteRule ^(.+)-(.+)-(.+)-(.+).html$ index.php?page=pages/127.php&deb=$2&laref=$3&pere=$4&titrep=$1
RewriteRule ^(.+)-(.+)-(.+).html$ index.php?page=pages/131.php&pere=$2&titrep=$1&deb=$3 [L]

On peut sans doute faire plus simple mettre un seul RewriteCond ? Je préfère demander avant car tester en direct vu mon bas niveau en expression régulières j'ai peur de faire des bugs :wink: et la limite aussi faire que http://a.com aille sur www.a.com ?


Merci

Mirgolth
WRInaute impliqué
WRInaute impliqué
 
Messages: 622
Inscription: 14 Oct 2002

Re: Syntaxe RewriteCond et RewriteRule

Message le Ven Oct 03, 2003 8:39

Tiens, personne ne t'as encore répondu...
stfn a écrit:Pour conclure est-ce ca marcherai comme ça :

Je pense que ce que tu souhaites faire c'est plutôt :
Code: Tout sélectionner
RewriteCond %{HTTP_HOST} !^www.a.com$
RewriteRule ^(.*) http://www.a.com/$1 [QSA,L,R=301]

Cela veut dire si je ne suis pas sur -www.a.com alors j'y vais. Comme ça en 2 lignes tu fais tous les cas dont tu parles... Par contre conserve le Flag L pour directement être redirigé.

Mirgolth


mahefarivony
WRInaute accro
WRInaute accro
 
Messages: 11405
Inscription: 14 Oct 2002

Message le Jeu Oct 09, 2003 21:25

une question un peu dans le meme genre

:arrow: je veux autoriser sur mon site que :
1 -www.monsite.com
2 -aaa.monsite.com

les autres sous domaines devront etre redirigé sur www.monsite.com

j'ai essayé
Code: Tout sélectionner
RewriteCond %{HTTP_HOST} !^www.monsite.com$ [OR]
RewriteCond %{HTTP_HOST} !^aaa.monsite.com$
RewriteRule ^(.*)   http://www.monsite.com/$1  [QSA,L,R=301]


ca a l'air de me déclencher une boucle infinie...

une idée ?


phreddpullfer
WRInaute discret
WRInaute discret
 
Messages: 107
Inscription: 7 Fév 2005

Re:

Message le Sam Jan 09, 2010 12:38

mahefarivony a écrit:
Code: Tout sélectionner
RewriteCond %{HTTP_HOST} !^www.monsite.com$ [OR]
RewriteCond %{HTTP_HOST} !^aaa.monsite.com$
RewriteRule ^(.*)   http://www.monsite.com/$1  [QSA,L,R=301]



Je suis tombé sur ce vieux post en voulant faire la meme chose...
et j'avais fait la meme erreur...
j'reponds donc, ca peux toujours etre utile au gars qui cherchera a faire pareil dans 6 ans ;D

la bonne syntaxe sera :
Code: Tout sélectionner
RewriteCond %{HTTP_HOST} !^www.monsite.com$
RewriteCond %{HTTP_HOST} !^aaa.monsite.com$
RewriteRule ^(.*)   http://www.monsite.com/$1  [QSA,L,R=301]


ce n'est pas un OU mais un ET (si ce n'est pas A et pas B alors fait dechaine les enfers...)

ou si c'est seulement pour eviter la consultation du site sans www :
Code: Tout sélectionner
RewriteCond %{HTTP_HOST} ^monsite.com$
RewriteRule ^(.*)   http://www.monsite.com/$1  [QSA,L,R=301]


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

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