URL Rewriting

Signaler
Messages postés
10
Date d'inscription
lundi 21 septembre 2009
Statut
Membre
Dernière intervention
22 mars 2018
-
Messages postés
1466
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
7 février 2011
-
Bonjour, voilà sur mon site de petites annonces http://www.web-achat.fr, je souhaite faire de l'URL Rewriting .
J'ai déjà configurer un .htaccess mais celui-ci ne fonctionne pas .
Je voudrais pouvoir accéder à une annonce sous la forme

http://www.web-achat.fr/cool

et non pas :

http://www.web-achat.fr/index.php?ann=cool

Voilà mon fichier HTAccess:
RewriteEngine on

#Si fichier ou repertoire demandé existe ignorer les regles qui suivent
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule "." - [skip=100]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule "." - [skip=100]


#page index

RewriteRule ^(-[a-zA-Z0-9]+)$ index.php?ann=$1 [QSA,L]


Merci de vos réponses !

5 réponses

Messages postés
9
Date d'inscription
vendredi 6 juin 2008
Statut
Membre
Dernière intervention
12 avril 2010

salut !

RewriteEngine on
RewriteCond %{HTTP_HOST} ^TONDOMAINE.fr$ 
RewriteRule ^cool$ index.php?page=cool[L]
RewriteRule ^cool$ index.php?page=cool[L]
RewriteRule ^supercool$ index.php?page=supercool[L]



dans cet exemple, tu peut voir que la première ligne RewriteRule est répétée 2 fois, j'ai remarqué que si je ne le faisais pas, ca ne fonctionne pas ....

dans ton index ajoute :
 juste en dessous de 
<head>

ce qui aura pour but d'éviter des erreurs dans tes liens si tu oublie un ./ du lien
Messages postés
9
Date d'inscription
vendredi 6 juin 2008
Statut
Membre
Dernière intervention
12 avril 2010

correction ... j'avais pas vu que tu voulais qqh de dynamique ...

insère juste :
RewriteEngine on
RewriteCond %{Request_URI} !^.*/.*/.*$
RewriteRule ^(.*)$ index.php?page=$1 [QSA,L]


et fais des liens genre :
[./cool cool]
Messages postés
10
Date d'inscription
lundi 21 septembre 2009
Statut
Membre
Dernière intervention
22 mars 2018

Merci pour ta réponse !

Mais cela ne fonctionne pas, je comprends pas !
Messages postés
10
Date d'inscription
lundi 21 septembre 2009
Statut
Membre
Dernière intervention
22 mars 2018

J'ai trouvé la solution voilà pour ce qui la cherche :

RewriteEngine on

#--------------------------------------------------
# Règles de réécriture d'URL :
#--------------------------------------------------


# Article avec numéro de page :

RewriteRule ^([-a-z,A-Z,0-9]*)$ /index.php?ann=$1 [L]

Vous avez plus qu'à vous inscrire sur http://www.web-achat.fr et déposé vos annonces .
Messages postés
1466
Date d'inscription
mardi 20 février 2007
Statut
Membre
Dernière intervention
7 février 2011
1
Salut,
^([-a-z,A-Z,0-9]*)$
A quoi ca sert de mettre 2fois la virgule ? (on est d'accord que la virgule ne sépare en rien différents éléments ici). Et avec cette regex, les _ ne sont pas pris en compte.
Tu pourrais optimiser par : ^([\w-]*)$


Cordialement, uaip.