(.*) pose pb :|

  • Auteur de la discussion Auteur de la discussion adviser
  • Date de début Date de début
WRInaute discret
bonjour,

j'essaie de faire pointer une page (http://www.mydomaine.com/toto/index.html) vers la page suivante /home/mydomain/anypath/t/toto/index.html

Code:
RewriteEngine on
RewriteRule ^(([a-z])[a-z0-9]+)/(.*)$		anypath/$2/$1/$3

Et j'obtiens une belle erreur 500 avec en prime
Code:
mod_rewrite: maximum number of internal redirects reached. Assuming configuration error. Use 'RewriteOptions MaxRedirects' to increase the limit if neccessary.
dans le fichier de log.
Apparemment, le test boucle qq part, sans doute au niveau du . mais je ne vois pas pkoi.

Auriez vous une idée?
Merci
 
WRInaute impliqué
La page redirigé pointe vers ton nom de domaine?
Ensuite bins sur que ça boucle:
RewriteRule ^(([a-z])[a-z0-9]+)/(.*)$ anypath/$2/$1/$3

anypath/$2/$1/$3 est bien identique à ^(([a-z])[a-z0-9]+)/(.*)$

en fait, le /(.*) comprend $2/$1/$3 ...

Encore une règle trop générale
 
WRInaute impliqué
Pour te faire réfléchir un peu:
Utilise les conditions ça évite l´erreur...
Par exemple avant ta règle
RewriteCond si l´url = ma page a
RewriteRule page a page b

c´est pas mal ça non?
 
WRInaute passionné
Petite question, juste en passant ?
quand tu tapes -http://www.mydomaine.com/anypath/t/toto/index.html (sans ton .htaccess buggué)
ça marche ?
 
WRInaute discret
correiaj a dit:
La page redirigé pointe vers ton nom de domaine?
Ensuite bins sur que ça boucle:
RewriteRule ^(([a-z])[a-z0-9]+)/(.*)$ anypath/$2/$1/$3

anypath/$2/$1/$3 est bien identique à ^(([a-z])[a-z0-9]+)/(.*)$

en fait, le /(.*) comprend $2/$1/$3 ...

Encore une règle trop générale

oui, cela pointe vers mon nom de domaine.
Merci pour la boucle, j'avais compris puisque j'en parle :)

Par exemple avant ta règle
RewriteCond si l´url = ma page a
RewriteRule page a page b

c´est pas mal ça non?

Non c'est nul ^^ Je vais pas faire une condition pour chacune des pages.

quand tu tapes -http://www.mydomaine.com/anypath/t/toto/index.html (sans ton .htaccess buggué)
ça marche ?

Oui, cela fonctionne.

De même,
Code:
RewriteRule ^(([a-z])[a-z0-9]+)/$      anypath/$2/$1/
ceci fonctionne.
 
WRInaute passionné
si tu rajoutes [L] à la fin de la règle de réécriture, Apache saura qu'il ne faut pas re-traiter l'URL.
 
WRInaute impliqué
D´autres part, on ne sait pas ce que tu fait sur ton site. Si tu as d´autres pages, d´autres adresses etc,
sinon tu fait
RewriteCond %{REQUEST_URI} !^.*/[a-z]/.*$ [NC]
RewriteRule ^(([a-z])[a-z0-9]+)/(.*)$ anypath/$2/$1/$3

Exacte, utilise [L]
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut