Url rewriting + .htaccess problème

WRInaute discret
Bonjour,

J'ai suivi le tuto sur le site pour la réécriture de l'url avec .htaccess, mais je n'arrive pas à comprendre :? :(

Je voudrais par exemple pour mon url avoir http://www.blabla.com/marketing à la place de http://www.blabla.com/index.php?contenu=marketing

Le problème c'est que je ne vois pas (comprend po :( ) ce qu'il faut écrire exactement dans le .htaccess pour obtenir le lien que je veux...

Et je ne sais pas non plus comment modifier mes liens dans mon site (que faut-il mettre du coup?)...

Je suis pourtant habitué des tuto... Là j'en ai fait quelques un sur différents sites et je n'arrive toujours pas à comprendre, c'est frustant :? Je suis si stupide que ça? :(

Merci de me dire quelle "phrase" écrire et bien sûr m'expliquer (s'il faut expliquer)...

Je vous remercie mille fois!

Bonne journée
 
WRInaute accro
Bonjour
Alors:

- Dans ton site, au lieu d'avoir
<a href="/index.php?contenu=marketing">marketing</a>
, tu dois avoir
<a href="/marketing">marketing</a>


- Ensuite, pour que ton serveur sache quel script PHP utiliser et avec quelle variable, il faut lui "traduire" l'URL réécrite pour qu'il sache l'interpréter. Donc, dans le .htaccess, il faut
1) activer le module de réécriture d'URL:
Code:
RewriteEngine on
(en début de .htaccess, et à n'écrire qu'une fois pour toute, au cas ou tu aies d'autres règles de réécriture à mettre en place ultérieurement)

2) placer la règle qui traduit l'URl réécrite :

Code:
rewriterule ^(.*)$ /index.php?contenu=$1 [L]

Ce qui veut dire : Lorsque n'importe quelle séquence est appelée (.*) il faut déclencher le script index.php avec comme paramètre la variable $1, (première section "variable" de la partie gauche de la règle, donc ici (.*) )


Voilà pour la réécriture.

La cerise, c'est que si ta page a déjà été indexée avec son URL index.php?contenu=marketing, il faut la rediriger (en 301) vers sa forme réécrite , sous peine de la voir indexée en double (pas bon)

T'ai-je éclairé ?
 
WRInaute discret
Bonjour,

Merci beaucoup! ça m'a beaucoup aidé! :D

C'est juste : [L] que je n'ai pas compris, à quoi sert-il?

Merci

Bonne journée
 
WRInaute accro
nickargall a dit:
[L] indique qu'aucune autre règle ne doit être appliquée ensuite. (Last)

c'est pas ca Dude, [L] force le moteur a sortir de sa boucle, c'est tout. On le met naturellement pour gagner du temps sur la distribution des pages
 
Discussions similaires
Haut