OVH Community, votre nouvel espace communautaire.

Je n'arrive pas à faire l'URL Rewriting


Mister_ben
28/07/2006, 11h16
dans tes pages web tu mets les liens réécrits.
le serveur web va transformer ces liens en liens normaux afin d'avoir les variables passées en get, etc.... mais l'utilisateur ne verra toujours que le 1er lien

@+

ianik
20/06/2006, 09h52
ok mais sous quelle forme doivent être écrit mes liens dans ma page?
Dois je ecrire sous la forme réécrite? mais alors je n'aurais plus aucune variable passée

voici la règle de mon .htacess

Code:
RewriteRule ^agenda/([a-z]+)\.html$ /test/expo/agenda.php?lg=$1&dsp=$2 [L]

ianik
16/05/2006, 16h41
ok merci je vais tester ça

Mister_ben
16/05/2006, 15h52
Je t'ai donné la solution du type :

page-liens
page-accueil


et pas celle que je voulais au départ et dont je me suis éloignée par la suite :

page/liens
page/accueil


Mais je suppose que c'est pareil.
Peut-être un caractère à modifier dans le .htaccess
- => /

Mister_ben
16/05/2006, 15h51
bon je suppose que pour le index.php et la gestion de la variable passée en get, tu sais comment faire.

Alors pour la suite :

tu mets les liens sur tes pages en :

page-accueil
page-histoire
page-contact
etc ....

et dans le .htaccess :

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^page-([a-z0-9]+)$ /index.php?page=$1 [L]


Explication : ce qui se trouve après "page-" dans le lien se transforme automatiquement en variable dans le cas défini juste après, c'est à dire qu'il se place après index.php?page=

exemple :

tu as un lien page-accueil
cela va donner :
index.php?page=accueil

Cela est automatique. (le visiteur ne voit pas la transformation)

Après pour la gestion de la variable, comme dis au début de ce message, tu sais sûrement comment faire.

N'oublie "juste" pas de sécuriser le include
J'ai eu ce problème au début et j'ai cherché une solution, car sur le forum sur lequel j'avais posté ce problème de sécurité, une seule personne m'a répondue avec un message d'une phrase :

if(strstr($_GET['page'],"/"))
{
echo("Vous avez tenté de naviguer à travers les dossiers du site");
}
else
{
...
}

Bon je diverge là...


J'espère que l'URL rewriting fonctionnera chez toi.

Cordialement,

Christopher Bender

ianik
16/05/2006, 07h35
peut tu me donner la solution? Je veux faire exactement le même

Mister_ben
23/04/2006, 20h12
bon j'ai tout compris, après de nombreuses recherches sur le net et de nombreux essais.

Merci à chacun pour son aide.

Mister_ben
23/04/2006, 19h11
Ce que je veux faire :

Mes liens dans le sommaire sont actuellement :
index.php?page=accueil
index.php?page=histoire
index.php?page=membres
etc...

Je voudrais, qu'en cliquant sur ces liens, il y ait dans la barre d'adresse :

page/accueil/
page/histoire/
page/membres/

Sachant que toutes mes pages ne sont pas dans ces répertoires ! Mes pages se trouvent dans le dossier /pages/

Donc je récapitule (en URL Complètes)

www.cccwindbeutel.info/index.php?page=histoire
doit s'afficher :
www.cccwindbeutel.info/page/histoire/

Donc si le visiteur tape dans la barre d'adresse :
www.cccwindbeutel.info/index.php?page=histoire
ou
www.cccwindbeutel.info/index.php?page=histoire
Il arrivera à la page Histoire !


Que mettre dans le .htaccess ?

frommarcq
21/04/2006, 09h12
...euh...

tu peux répéter la question ? lol

Mister_ben
20/04/2006, 21h15
bizarre alors ...

une fois c'est dans un sens
une fois c'est dans l'autre

index.php?page= .... ent 1er ou 2eme ?

frommarcq
20/04/2006, 20h35
(je suis un néophyte, mais comme ça a marché pour moi...)

Salut Mister Ben,

J'écris peut-être une énorme connerie, dans ce cas, n'hésitez pas à me reprendre (sans trop d'agressivité quand même).

Pour que mes URL apparaissent bien en xxxx1234.html, j'ai d'abord du faire des modifs dans mon code php.

Là où était indiqué "fonction.php?poire=123&fraise=456" j'indiquais "exemple123,456.html". ainsi, c'est ce qui s'affiche (tout ça pour faire plaisir à M'zelle Gougueul...).

Et c'est ensuite qu'intervient l'URL rewriting.

Parce que "exemple123,456.html", ça n'existe pas en fait. et on demande de revenir à l'affreux (mais efficace) "fonction.php?poire=123&fraise=456".

C'est là que tu places :
RewriteRule ^exemple([0-9]+),([0-9]+)\.html$ /fonction.php?poire=$1&fraise=$2 [L]

Je suis peut être en train de devenir la risée de ce forum (m'en fous, 'vous connais pas... lol ). Dans ce cas, la parole est donnée aux experts... Suis là aussi pour apprendre...

Pascal

Mister_ben
05/04/2006, 15h55
merci de votre suggestion
mais cela ne fonctionne pas.

Auriez-vous d'autres idées ? même s'il faut modifier tout le fichier .htaccess

RaphAstronome
04/04/2006, 21h51
Sur OVH l'URL rewite se fait a la racine du site

essaie :
RewriteEngine on
RewriteRule ^album-([0-9]+)-([abcdefghijklmnopqrstuvwxyz]+)\.html$ /galerie/disp_album.php?id_album=$1&stat=$2 [L]

Mister_ben
31/03/2006, 20h13
Bonjour,

j'ai actuellement une galerie 2bgal dans :

www.bender-fr.info/galerie/

et en fait il y a des fichiers :
disp_album.php
disp_serie.php
disp_img.php
chacune de ces pages se terminant par :
.php?........................

J'aimerais faire de l'URL Rewriting mais je n'arrive pas.
J'ai tenté pour le disp_album.

Dans le .htaccess à la racine du site :

RewriteEngine on
RewriteRule ^album-([0-9]+)-([abcdefghijklmnopqrstuvwxyz]+)\.html$ /disp_album.php?id_album=$1&stat=$2 [L]
Cela ne fonctionne pas. Aucune erreur mais le lien n'est pas réécrit lorsque je clique sur un album.

Merci par avance pour votre aide.

Cordialement,

Christopher.