url rewriting de base

WRInaute discret
bon ben c'est encore pour moi....

Code:
RewriteEngine on
RewriteRule ^tuc.html$ toc.php?tic=tuc [L]

ou alors :

Code:
RewriteEngine on
RewriteRule ^tuc.html$ /toc.php?tic=tuc [L]

tu peux me payer par paypal la somme de 0.00 euros ou alors rendre visite à mon www et me faire part de ton avis.....

:wink:
 
Nouveau WRInaute
ca marche pas

je suis chez ovh

au cas ou ca changerait qqche

une autre idee ?

le .htaccess je le met a la racine du site ou a la racine du repertoire contenant tuc.html ?
 
WRInaute occasionnel
Pour être sûre, tu veux que cette URL :
-http://www.exemple.com/tac/toc.php?tic=tuc
Soit renvoyé sur celle là :
-http://www.exemple.com/tac/tuc.html
ou l'inverse ???

Si c'est le premier cas (j'ai un doute pour celle là à cause du query string) je dirais:
Code:
RewriteEngine on
RewriteRule ^toc.php?tic=tuc$ /tac/tuc.html [L]
sinon
Code:
RewriteEngine on
RewriteRule ^tuc.html$ /tac/toc.php?tic=tuc [L]

secous a dit:
le .htaccess je le met a la racine du site ou a la racine du repertoire contenant tuc.html ?
Peu importe.
 
WRInaute occasionnel
secous a dit:
en fait c'est le deuxieme cas
C'est ce qu'il me semblais. :wink:

Peut-être :
Code:
RewriteEngine on
RewriteRule /tuc.html$ /tac/toc.php?tic=tuc [L]
Ou ça :
Code:
RewriteEngine on
RewriteRule ^tuc.html /tac/toc.php?tic=tuc [L]
Ou encore ça :
Code:
RewriteEngine on
RewriteRule /tuc.html /tac/toc.php?tic=tuc [L]
Avec une preférence pour la 2eme.

Sinon quelle message d'erreur à tu ?
 
Nouveau WRInaute
ca marche

1ere solution

question subsidiaire :

est ce que je peux mettre une variable dans le htaccess ou je dois retaper toutes les adresses ?
 
WRInaute occasionnel
si tu veux faire par exemple :
-http://www.exemple.com/tac/tuc.html -> -http://www.exemple.com/tac/toc.php?tic=tuc
-http://www.exemple.com/tac/polo.html -> -http://www.exemple.com/tac/toc.php?tic=polo
-http://www.exemple.com/tac/blabla.html -> -http://www.exemple.com/tac/toc.php?tic=blabla
dans ce cas :
RewriteRule /(.*)\.html$ /tac/toc.php?tic=$1 [L]
Après tout dépand de la structure de l'url.

PS: J'apporte une petite modif à mon code :
RewriteRule /tuc\.html$ /tac/toc.php?tic=tuc [L]
Soit le '\' avant le ".html" Ce n'est peut-être pas utile vu que ça à l'air fonctionner mais comme c'est comme ça que j'ai appris.
 
Nouveau WRInaute
RewriteRule /(.*)\.html$ /tac/toc.php?tic=$1 [L]
Après tout dépand de la structure de l'url.

J'ai essayé ce truc et ca me donne une erreur 500 pas joli jolie

c'est quoi le rapport entre (.*) et $1

bonjour
 
WRInaute accro
la règle

Code:
RewriteRule /(.*)\.html$ /tac/toc.php?tic=$1 [L]

signifie en français:

Cher serveur,

Si on te demande une uri du genre "quelquechose.html", interprète le comme étant /tac/top.php?tic=quelquechose [et arrête toi là]

;)
 
WRInaute occasionnel
secous a dit:
c'est quoi le rapport entre (.*) et $1
Enfaite le $1 correspond à ce qu'il y a dans la parenthèse.

Pour faire rapide, le .* indique à la règle qu'il te faut 0 ou plusieurs (ça c'est le *) caractères quelconque (ça c'est le .) Les parenthèses indique à la règle qu'elle doit gardé la valeur en mémoire pour pouvoir la récupérer par la suite avec un $1 Tu peux aussi avoir plusieurs parenthèse et ensuite tu appelle les différentes valeurs de ses parenthèse avec $1 ou $2 ou $3 ou etc.

Pour plus d'info je te renvois à la doc :
http://www.illiweb.com/manuel/Apache_1. ... ewriteRule

Sinon pour l'erreur 500 je dirais que c'est un problême dans la règle ... Esseye peut-être RewriteRule ^(.*).html /tac/toc.php?tic=$1 [L]
 
Nouveau WRInaute
bon d'accord

mais ca marche pas

j'ai essayé

RewritRule ^/tac/(.*).html$ /tac/toc.php?tic=$1 [L]

RewritRule /tac/(.*).html$ /tac/toc.php?tic=$1 [L]

RewritRule /(.*).html$ /tac/toc.php?tic=$1 [L]

RewritRule ^(.*).html$ /tac/toc.php?tic=$1 [L]

sachant qu'avant le /tac/ il y a mon nom de domaine

et puis j'ai essayé sans le $ apres le .html et avec \.html aussi

alors? Y comprends rien le serveur aujourd'hui
 
Nouveau WRInaute
et quand j'ecris

RewritRule /tac/(.*).html$ /tac/toc.php?tic=$1 [L]

ce con de serveur il m'ecrit : /tac/tact/tac/tuc.html

?????

mais au moins la page apparait

je suis pas sur d'etre sur la bonne voie
 
WRInaute impliqué
Comme ça c´est mieux:
RewriteRule ^tac/(.*)\.html$ /tac/toc.php?tic=$1 [L]

Et en rentrant http....../tac/xxxxxxx.html
il renvera la page http......./tac/toc.php?tic=xxxxxxx
 
Nouveau WRInaute
ben chez moi c'est pas pareil

si je mets : ^tac/(.*)\.html$ /tac/toc.php?tic=$1 [L]
-> il me renvoit une erreur 500

si je mets /tac/(.*)\.html$ /tac/tac.php?tic=$1 [L]
->il me renvoie la page : http......./tac/toc.php?tic=xxxxxxx
-- quand je rentre : http....../tac/tac/tac/xxxx.html

hein ? ... et les tac/tac/tac/ c'est pas beaucoup mieux que les toc.php?tic=tuc
 
Nouveau WRInaute
oh putain c'est l'heure de l'apero

je crois que j'ai compris faut pas mettre tac c'est trop con

le serveur il se fout de moi

ca marche tres bien avec pop

alors je vais le faire avec pop

merci de m'avoir aidé
 
WRInaute impliqué
Ça vient surtout de RwritRule qui n´est pas une focntion du mode rewrite.... C´était pourtant écrit....
Arrete l´apéro. :)
 
Discussions similaires
Haut