Rewriting un peu zarb (enfin pour moi!)

  • Auteur de la discussion Auteur de la discussion ndavoust
  • Date de début Date de début
Nouveau WRInaute
Bonjour, et merci a celui qui pourra m'aider!

J'ai un site qui gere les parrainages des membres pour differentes societes.

J'ai donc une page sur laquelle on presente l'offre de parrainage, suivie du parrainage d'un membre tire au hasard.

or, je peux aussi specifier l'ID du membre (un numero) pour que son parrainage ne soit pas tire au hasard.

Bref, j'ai cree une redirection de http://www.lesparrains.fr/[nom de l'offre] -> http://www.lesparrains.fr/operation.php?operation=[numero de l'offre] grace a un script php qui met a jour mon .htaccess a chaque creation / suppression / modif d'offre

ce qui donne une longue liste comme suit :

# Le serveur doit suivre les liens symboliques :
Options +FollowSymlinks

# Empeche de voir l'index d'un repertoire sans index.html
Options -Indexes

# Activation du module de réécriture d'URL :
RewriteEngine on

RewriteRule ^ing-direct$ operation.php?operation=16
RewriteRule ^ten-mobile$ operation.php?operation=80
RewriteRule ^vente-privee$ operation.php?operation=13
RewriteRule ^canal$ operation.php?operation=14
RewriteRule ^bouygues$ operation.php?operation=22
RewriteRule ^canalsat$ operation.php?operation=81
RewriteRule ^orange-wanadoo$ operation.php?operation=9
etc...

jusqu'ici ca marche (vous pouvez essayer http://www.lesparrains.fr/ing-direct )

ensuite, pour passer le parametre (optionel) [numero membre] pour desactiver le tirage aleatoire et afficher le parainage du membre en question, j'essaye ca :

RewriteRule ^/([^/]*)$ /?parrain=$2 [L]

pour convertir du http://www.lesparrains.fr/operation.php?operation=[numero de l'offre]/[numero membre] en http://www.lesparrains.fr/operation.php?operation=[numero de l'offre]?parrain=[numero membre]

et la, ca ne marche pas http://www.lesparrains.fr/ing-direct/2 (erreur 500)

avez vous une solution?

d'autre part, ma liste commence a etre assez longue (250 offres environ) connaissez-vous l'impact en terme de vitesse de traitement ?
 
Nouveau WRInaute
OK bien vu!

cependant ca ne marche toujours pas ;-(

j'ai remplace la derniere ligne (celle qui pose pb) par

RewriteRule ^/([^/]*)$ &parrain=$1 [L]

je ne suis pas en dedie, mais j'y projette ;-)
 
Nouveau WRInaute
J'ai modifie le systeme pour et a present c'est la page operation.php qui fait le lien entre le nom de l'offre et le numero pour pouvoir l'afficher (avec un array mis a jour automatiquement)

donc a present ca donne deux regles de rewriting:

La premiere redirection serait http://www.lesparrains.fr/[nom de l'offre] -> http://www.lesparrains.fr/operation.php?titre_page=[nom de l'offre]

[nom de l'offre] peut etre des minuscules (a-z) des chiffres (0-9) et des tirets

Code : Apache
Code:
# Operation sans numéro de membre :
RewriteRule ^(-[a-z][0-9]*)$
/operation.php?titre_page=$1 [L]



ensuite, pour passer le parametre (optionel) [numero membre] pour desactiver le tirage aleatoire et afficher le parainage du membre en question, j'essaye ca :

Code : Apache
Code:
# Operation avec numéro de membre :
RewriteRule ^(-[a-z][0-9]*)/([0-9]*)$
/operation.php?titre_page=$1&parrain=$2 [L]


pour convertir du http://www.lesparrains.fr/[nom de l'offre]/[numero membre] en http://www.lesparrains.fr/operation.php?titre_page=[nom de l'offre]&parrain=[numero membre]


toujours erreur 500 :-(

avez vous une solution?

mon .htaccess complet :

Code : Apache
Code:
# Le serveur doit suivre les liens symboliques :
Options +FollowSymlinks 

# Empeche de voir l'index d'un repertoire sans index.html 
Options -Indexes
 
#--------------------------------------------------
# Règles de réécriture d'URL :
#--------------------------------------------------

# Activation du module de réécriture d'URL :
RewriteEngine on

# Operation avec numéro de membre :
RewriteRule ^(-[a-z][0-9]*)/([0-9]*)$
/operation.php?titre_page=$1&parrain=$2 [L]

# Operation sans numéro de membre :
RewriteRule ^(-[a-z][0-9]*)$
/operation.php?titre_page=$1 [L]



RewriteCond %{HTTP_HOST} ^lesparrains.fr$
RewriteRule ^(.*) http://www.lesparrains.fr/$1 [QSA,L,R=301]




RewriteCond %{HTTP_REFERER} !^$ 
RewriteCond %{HTTP_REFERER} !^http://www.lesparrains.fr/.*$ [NC] 
RewriteRule .*\.(gif|png|jpeg)$ - [F]
 

➡️ 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