Version complète: sur le forum Webmaster Hub : RewriteCond RewriteRule expression dans condition
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > Fichier .htaccess et réécriture d'URLs
tacata
rebonjour

nouveau sujet ... toujours concernant la réécriture d'url

considérons que notre renvoie se fait sur le meme domaine

sousdom1.lecv.re => lecv.re/sousdom

soit le code suivant
CODE
RewriteCond %{HTTP_HOST} !(www|dev|test)\.lecv\.re$
RewriteCond %{HTTP_HOST} ([a-z0-9A-Z]+)\.lecv\.re
RewriteRule (.*) lecv.re/%1 [QSA,L]


le soucis est le suivant
si le visiteur entre sousdom1.mondom.re/soudom1
on entre dans une boucle sans fin

une idée de la règle à ajouté ?

Comment indique t on une valeur null dans une expression

dans "!(www|dev|test)" je veux ajouter "|null"

merci pour votre contribution
Dan
CITATION
Comment indique t on une valeur null dans une expression

Il suffit d'ajouter cette ligne dans tes conditions, avant les autres :
CODE
RewriteCond %{HTTP_HOST} !^lecv\.re$
tacata
Merci pour cette réponse

bien entendu je peu tojours faire
CODE
RewriteCond %{HTTP_HOST} !^lecv\.re$


mais voila une ligne suplémentaire pour une seul condition ...
il me semble que c'est pas vraiment optimisé ...
A moins bien évidement qu'on ne peu pas ajouté
quelque chose du genre null à l'expression deja existante
CODE
!(www|dev|test)


En ce qui concerne la boucle une idée ??
Dan
On ne peut pas ajouter de "null" à ton expression. Tu n'as pas d'autre solution que de rajouter une ligne.

Et je ne vois pas pourquoi tu aurais une boucle sans fin, tu n'utilises pas $1 dans ton expression, seulement %1 (pour le nom du sous-domaine)

tacata
Rebonjour

Merci beaucoup pour vos réponse clair et rapide !!

donc premier point pas
d expression NULL Ok

merci "dan" car le doute persistait encore aprés ta premier réponse !

En ce qui concerne la boucle ....
voila ce que me donne la log

CODE
[Tue Aug 05 15:51:24 2008] [error] [client IP.VI.SI.TEUR] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.
[Tue Aug 05 15:51:24 2008] [debug] core.c(3027): [client IP.VI.SI.TEUR] r->uri = /lecv.re/aude
[Tue Aug 05 15:51:24 2008] [debug] core.c(3033): [client IP.VI.SI.TEUR] redirected from r->uri = /lecv.re/aude
[Tue Aug 05 15:51:24 2008] [debug] core.c(3033): [client IP.VI.SI.TEUR] redirected from r->uri = /lecv.re/aude
[Tue Aug 05 15:51:24 2008] [debug] core.c(3033): [client IP.VI.SI.TEUR] redirected from r->uri = /lecv.re/aude
[Tue Aug 05 15:51:24 2008] [debug] core.c(3033): [client IP.VI.SI.TEUR] redirected from r->uri = /lecv.re/aude
[Tue Aug 05 15:51:24 2008] [debug] core.c(3033): [client IP.VI.SI.TEUR] redirected from r->uri = /lecv.re/aude
[Tue Aug 05 15:51:24 2008] [debug] core.c(3033): [client IP.VI.SI.TEUR] redirected from r->uri = /lecv.re/aude
[Tue Aug 05 15:51:24 2008] [debug] core.c(3033): [client IP.VI.SI.TEUR] redirected from r->uri = /lecv.re/aude
[Tue Aug 05 15:51:24 2008] [debug] core.c(3033): [client IP.VI.SI.TEUR] redirected from r->uri = /lecv.re/aude
[Tue Aug 05 15:51:24 2008] [debug] core.c(3033): [client IP.VI.SI.TEUR] redirected from r->uri = /lecv.re/aude
[Tue Aug 05 15:51:24 2008] [debug] core.c(3033): [client IP.VI.SI.TEUR] redirected from r->uri = /


A noter que pour le moment je n'ai aucune autre écriture de redirection
donc je ne vois pas pourquoi j augmenterai la limite comme indiqué dans la log ...???


rappel du code de mon htacces
CODE
RewriteEngine on
RewriteCond %{HTTP_HOST} !(www|dev|test)\.lecv\.re$
RewriteCond %{HTTP_HOST} ([a-z0-9A-Z]+)\.lecv\.re
RewriteRule (.*) lecv.re/%1 [QSA,L]
tacata
[RESOLU]

re

Je ferme ce sujet le probleme de boucle est résolu

il semblerai qu'il soit du a un probleme de configuration du module access...

Je ne poste pas de correctif ou de code car je ne suis pas persuadé de la cause

merci pour votre contribution

Conclusion
Existe t il une expresion pour signigié NULL
NON
Je rencontre un probleme de boucle
L'utilisation de %1 ne devrais pas produire cela
Aprés nombreuse récriture des directives dans
<directory></directory>
le probleme a été résolu des probleme de cache navigateur
ne permettent pas de validé un correctif garantie

[RESOLU]
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.