Aller au contenu

[url_rewriting] Simplifier l'url de mon site


Sujets conseillés

Posté

Bonjour,

j'ai un site dont j'aimerais simplifier l'url ... la raccourcir en somme.

très simple il me suffit de modifier l'arborescence.

le probleme c'est qu'il va exitser durant une longue période de mauvaises url (Google, sites lambda ayant mis un lien quelconques etc)

exemple actuellemnt l'url c'est:

http://www.mon_site.com/blabla/dossier/index.php

et je souhaiterais que les liens ressemble a cela:

http://www.mon_site.com/index.php

est-ce que l'url_rewriting permet cela et surtout comment ?

Merci de votre aide

Posté

Bonjour cecileB2K,

C'est simple si tu veux faire remonter toute l'arborescence du répertoire /blabla/dossier vers la racine.

Pour cela il faut que tes pages soient organisées selon la même arborescence (et portent le même nom)

Il suffit d'une ligne dans le fichier .htaccess mis dans le répertoire à la racine du site:

RedirectPermanent /blabla/dossier/   http://www.tondomaine.com/

  • 4 semaines plus tard...
Posté

Bonjour,

L'exemple donné plus haut par Dan est typiquement de l'url_rewriting.

Tu peux lire, à ce sujet, les articles suivants :

- http://www.webmaster-hub.com/publication/article5.html

- http://www.webmaster-hub.com/publication/article15.html

Ce sont des articles qui expliquent ce qu'est l'url rewriting.

Pour ce qui est des pages présentent dans Google, il leur faudra un certain temps pour que ces pages soient désindexées et réindexées, mais tu n'y perdra quasiment rien (normalement).

Anonymus.

Posté

Ce sont 2 (très bons) articles que j'ai déjà lu, et je n'ai malheureusement pas trouvé la réponse à ma question, mais je reconnais que je ne suis pas très douée :wacko:

Je m'explique:

J'aimerais pouvoir simplifier ce type d'url (ou x="id de l'article") de deux façons

Premier exemple:

http://www.monsite.org/public/sections/article.php?storyid=x

en

http://www.monsite.org/public/article-x-titre_article.html

Ou bien (je ne me suis pas décidée ! :P )

Deuxième exemple:

http://www.monsite.org/public/sections/article.php?storyid=x

en

http://www.monsite.org/news/article-x-titre_article.html

Ce qui est en gras c'est ce que j'ai réussi à faire, grâce à cette règle: RewriteRule ^article-([0-9]+)-([^_]+)\.html$ article\.php?storyid=$1 [L] ... mais je ne parviens pas a modifier mes urls comme les deux exemples cités plus haut.

Merci de votre aide

CelineB2K

Posté

J'ai fini par arriver a régle mon probleme dans le premier exemple, il suffisait que je remonte mon .htaccess dans l'arborescence et que je modifie ma regle initiale:

RewriteRule ^article-([0-9]+)-([^_]+)\.html$ article\.php?storyid=$1 [L]

en

RewriteRule ^article-([0-9]+)-([^_]+)\.html$ sections/article\.php?storyid=$1 [L]

pouvez-vous m'aidez pour le deuxieme probleme ?

merci :)

Posté

Bonjour Cecile,

Ton deuxième problème est loin d'être aussi trivial que le premier.

Créer les URLs avec le titre de l'article dépend de ta base de données.

Il te faudra aussi épurer tous les caracères non US-ASCII tels que é, è, à, ç etc.

Il est facile de transformer article-12-au-clair-de-la-lune.html en article.php?storyid=12 à l'aide d'une règle.

Il est sensiblement plus compliqué de faire l'inverse. Cela va supposer que tu te retrousses les manches et plonges dans le code source de tes programmes.

Pour faire cela, .htaccess ne peut pas t'aider.

Dan

Posté

je me suis mal exprimée surement ... pourquoi dis-tu l'inverse ?

les deux exemples ne me semble pas opposés :huh:

dans ce second exemple, je souhaiterais pourvoir réduire l'url (premier exemple) mais aussi renommer l'un de ces sous-répertoires

est-ce que la technique de l'url rewriting se borne seulement modifier/renommer la derniere partie de l'url ?

cecileB2K_oui_je_sais_j'suis_chiante

Posté

Salut Cecile,

Ce que je voulais dire c'est qu'il te faudra créer les URLs avec le titre de l'article au sein même de ton programme. La réécriture ne permettra pas de le faire.

C'est pour cela que je disais "dans l'autre sens"...

Comment veux-tu qu'une règle puisse transformer "article.php?id=123 ... en "123-le-chateau-de-ma-mere.html" ???

Il faut que le titre soit extrait de ta base de données. Et la réécriture d'URL n'y peut pas grand chose.

Par contre, pour transformer "123-le-chateau-de-ma-mere.html" en article.php?id=123, là cela devient facile. C'est une seule règle.

Je pense que ta compréhension de la réécriture d'URLs s'arrète à cette deuxième partie, non ? Mais il TE faudra créer les URLs au sein du programme php.

Dan

Posté
Comment veux-tu qu'une règle puisse transformer  "article.php?id=123 ... en "123-le-chateau-de-ma-mere.html" ???

Il faut que le titre soit extrait de ta base de données. Et la réécriture d'URL n'y peut pas grand chose.

c'est bien là le probleme, je n'ai JAMAIS dis que je voulais faire ça, mais alors absolument pas :blush:

je ne sais plus comment le dire et suis un peu désespérée

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...