(.*) pose pb :|

  • Auteur de la discussion Auteur de la discussion adviser
  • Date de début Date de début
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
 
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
 
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?
 
Petite question, juste en passant ?
quand tu tapes -http://www.mydomaine.com/anypath/t/toto/index.html (sans ton .htaccess buggué)
ça marche ?
 
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.
 
si tu rajoutes [L] à la fin de la règle de réécriture, Apache saura qu'il ne faut pas re-traiter l'URL.
 
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