PDA

Voir la version complète : Problèmes URL rewriting


Tian
15/02/2004, 22h04
Bonjour,

Je découvre l'URL rewriting. Je vas m'en servir pour transformer des URLs en l'appel à une page avec des paramètres CGI. Classique ;)

Mais j'essaye d'abord de me faire la main. J'ai commencé par un exemple tout simple.

Mon .htaccess contient ceci :

RewriteEngine on
RewriteRule ^/nexistepas.html$ /scripts.php [L]

Je le mets dans mon répertoire /www

Normalement si je demande la page http://www.c-sait.net/nexistepas.html je devrais voir la page scripts.php non ?

Et bien je me prends une erreur 404.

Qu'est ce que j'ai mal fait ou oublié ?

Merci pour votre aide.

phileas
16/02/2004, 15h49
Moi aussi je découvre le rewriting.
A priori, je supprimerais le slash / du nom de fichier.

Pharmespace
16/02/2004, 18h26
Le slash du nexistepas.html, pas celui de scripts.php surtout ! (voir modif récente OVH avec mod_ort et le toutim)

Tian
17/02/2004, 09h08
Merci beaucoup :)

Ca marche effectivement en faisant ca (le / du debut en moins)

J'avais suivi l'exemple donne ici :

http://guides.ovh.com/HtaccessModRewrite/

Il faudrait peut etre le corriger non ?

David.A
18/02/2004, 01h07
mmm, en quelques mots, ça sert à quoi? je lis de ci de là que c'est killer comme truc, mais personne me dit vraiment à quoi ça sert, et comme ça fait des années que je fais du dev et qu'à priori j'en ai jamais eu besoin, me pose des questions :)

Elgi
18/02/2004, 03h02
David.A écrivait :
mmm, en quelques mots, ça sert à quoi? je lis de ci de là que c'est killer comme truc, mais personne me dit vraiment à quoi ça sert, et comme ça fait des années que je fais du dev et qu'à priori j'en ai jamais eu besoin, me pose des questions :)

Au lieu d'avoir des urls du type :
/mapage.php?rubrique=bar&sousrubrique=foo&page=15&debut=50

tu peux avoir :
/bar/foo/15/50/mapage.html

c'est plus jolie :)
c'est traiter donc par mod_rewrite et donc via des regexp (si le regexp est bien fait, ca ameliore donc la securite)

on peux meme mettre ces scritps dans un repertoire secret !
http://domain.tld/bar/foo/15/50/mapage.html
pointant en fait sur
/home/login/www/secret/page.php?rubrique=bar&sousrubrique=foo&page=15&debut=50


les moteurs de recherche prefere de loin des urls de ce type

et mod_rewrite permet en plus de ca, de faire des filtrs par exemple dans le but d'interdire l'affiche d'une image de son site sur un autre site.
etc, etc...

Pharmespace
18/02/2004, 07h59
Google par exemple référence rarement ou mal des URL avec beaucoup de paramètres... donc ça évite ce problème. Et avec les faux sous-répertoires, cela permet d'ajouter des mots clés (attention dans ce cas aux URL relatives et BASE HREF).

Cela permet aussi de changer la structure d'un site et d'envoyer tes anciennes pages vers les nouvelles sans 404 pour les moteurs notamment.

www.webrankinfo.com/analyses/autres/url-rewriting-debutants.php

David.A
18/02/2004, 09h27
xcellent article Pharmespace

merci