Index
Forums
Annuaire
Référencement
Télécharger
  phpBB SEO : Référencement Google, MSN, Yahoo, Annuaires, Forums  
phpBB SEO
Boards
Directory  
SEO  
Downloads
 
  Rechercher Search
    S'enregistrer
Pseudo :  Passe :  Auto  
Register  
 
   
Reecriture d'URL
Aller à la page 1, 2  Suivante
 
Poster un nouveau sujet   Répondre au sujet    phpBB SEO » Forum Référencement  » mod rewrite Apache
::  
Auteur Message
gcvoiron
PR1
PR1


Inscrit le: 08 Juin 2006
Messages: 120

Reecriture d'URLPosté le: Mer Nov 29, 2006 11:12 pm    Sujet du message: Reecriture d'URL

Bonjour,

J'ai regardé pas mal de tutos sur l'URL REWRITING, je comprends le but mais pas l'utilisation...
Comment réécrire des URL 'site.php?=phphbb' en 'phpbb.php'?

Merci.

_________________
Gagnez argent et cadeaux avec Internet sur www.benefweb.com
Revenir en haut de page
rogerlebouledogue
phpBB SEO Team
phpBB SEO Team


Inscrit le: 22 Juil 2006
Messages: 354
Localisation: Belle-Ile (56)

Reecriture d'URLPosté le: Jeu Nov 30, 2006 7:50 am    Sujet du message: Re: Reecriture d'URL

Va falloir attendre dcz pour avoir une vrai expliquation car moi ... Confused

Mais juste une question, pourquoi tu veux faire cette réécriture ?

Ca vient d'où "site.php?=phphbb" ?

Avec un peu plus d'expliquation, je pense que dcz te renseignera ... Wink

@+. Razz

_________________
Le forum de Rogerlebouledogue
Revenir en haut de page
Visiter le site web de l'utilisateur
dcz
Administrateur - Site Admin
Administrateur - Site Admin


Inscrit le: 28 Avr 2006
Messages: 15125

Reecriture d'URLPosté le: Jeu Nov 30, 2006 9:17 am    Sujet du message: Re: Reecriture d'URL

En fait la réécriture d'ulr est une technique globale, il n'y a pas de recette définitive, mais des principes à appliquer.

La réécriture d'url se passe en deux étapes :


    1) Il faut modifier les liens en sortie :

    En reprenant ton exemple, il faudrait que le lien site.php?=phphbb ne soit plus affiché de la sorte sur les pages du site, mais directement phpbb.php (ou phpbb.html). Plusieurs methodes sont possibles pour cela : utilisation du buffer (avec ob_start() ) ou recodage des liens directement.

    2) Il faut que cette nouvelle URL qui ne correspond à aucun script fonctionne :


    Toujours dans ton exemple, le seul script qui existe physiquement est site.php.
    phpbb.php (ou .html) n'existe pas, c'est site.php?=phphbb qui construit la page.
    C'est là que le module de réécriture d'url (mod_rewrite sur les serveur apache et isapi_rewrite sur IIS) nous sont utiles.

    Grâce à eux, le serveur va être capable de faire correspondre une URL "factice" (n'étant pas directement lié au script capable de la construire) à un script physique en lui passant les variables nécessaires.

    L'idée c'est : phpbb.php (ou .html) => site.php?=phphbb

    Dans ce cas, la règle n'est pas dynamique, on associerait une URL à un script.

    Mais il est aussi possible de faire un truc du genre :

    page-xx.html => script.php?var=xx

    Pour couvrir d'un coup toutes les URLs du type page-xx.html ou xx serait son ID, comme une ID de topic dans un forum.

    Ces règles sont des rewriterules, elle utilisent des expressions régulières pour indiquer au serveur les parties de l'url à faire passer au script, l'ID xx dans notre dernier exemple.


Voilà pour le principe.
Dans la pratique, il y a pratiquement autant de cas que de scripts.

++

_________________
Useful links :
SEO Forum || SEO Directory || SEO phpBB || SEO phpBB3 || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Référencement phpBB3 || Recherche
Revenir en haut de page
Visiter le site web de l'utilisateur
gowap
phpBB SEO Team
phpBB SEO Team


Inscrit le: 07 Mai 2006
Messages: 1008

Reecriture d'URLPosté le: Jeu Nov 30, 2006 10:49 pm    Sujet du message: Re: Reecriture d'URL

Il me semble qu'il y aurait également la possibilité de tester via RewriteCond si l'url demandée est réellement un fichier physique (parametre -f, non ?) , auquel cas, on ne ferait rien, et sinon, on redirigerait vers site.php?truc=bidule

_________________
Gravure-News : la communauté francophone de la gravure de CD/DVD et son forum d'entraide.
Revenir en haut de page
Visiter le site web de l'utilisateur
dcz
Administrateur - Site Admin
Administrateur - Site Admin


Inscrit le: 28 Avr 2006
Messages: 15125

Reecriture d'URLPosté le: Jeu Nov 30, 2006 11:00 pm    Sujet du message: Re: Reecriture d'URL

Tout à fait, mais ce n'est utile que s'il y a risque de confusion.
C'est plus utile pour les dossiers virtuels.

Dans notre exemple, si phpbb.php était un fichier physique, la rewriterule prendrait le dessus sans préciser que l'on ne veut pas que le fichier appelé soit physique.


Code:
RewriteRule ^cherche.php$ /trouve.html


Renvois trouve.html (qui doit exister physiquement) que cherche.php existe ou non.

Il n'y a bien entendu pas grand intérêt à conserver un fichier physique du même nom que notre cherche.php Wink

++

_________________
Useful links :
SEO Forum || SEO Directory || SEO phpBB || SEO phpBB3 || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Référencement phpBB3 || Recherche
Revenir en haut de page
Visiter le site web de l'utilisateur
gcvoiron
PR1
PR1


Inscrit le: 08 Juin 2006
Messages: 120

Reecriture d'URLPosté le: Jeu Nov 30, 2006 11:47 pm    Sujet du message: Re: Reecriture d'URL

En fait voilà l'URL que je voudrais rewriter :
Citation:
http://www.concours-gratuits-fr.com/site.php?idsite=19

Là j'ai selectionné par id (idsite=19) mais je pourrais mettre par nom (idsite=vacancio).
Et j'ai fais plusieurs essais mais en vain...

_________________
Gagnez argent et cadeaux avec Internet sur www.benefweb.com
Revenir en haut de page
dcz
Administrateur - Site Admin
Administrateur - Site Admin


Inscrit le: 28 Avr 2006
Messages: 15125

Reecriture d'URLPosté le: Dim Déc 03, 2006 12:12 pm    Sujet du message: Re: Reecriture d'URL

Le truc, c'est que c'est simple et universel de faire correspondre ce que l'on veut dans une rewriterule, mais il faut modifier le code php, et là c'est du cas par cas.

Pour ce que tu veux faire, il faudrait pas mal le modifier. Il faudrait ajouter de quoi passer du titre du site à son ID dans le script, pour réaliser le select.

Dans ton exemple, passer de /site.php?idsite=19 à /site.php?idsite=vacancio
ne relève pas de la réécriture d'url à proprement parler, car cela n'implique pas le mod_rewrite, une modification du script php suffirait.

Le plus simple pour une réécriture serait de simplement injecter le titre du site dans son URL en conservant l'ID :

/site.php?idsite=19 = > vacancio-s19.html

Ou le s servirait à différentier cette redirection des autres (comme les vt, vf et vc dans le cas de phpBB).

La rewriterule associée serait :

Code:
RewriteRule ^.+-s([0-9]+)\.html$ /site.php?idsite=$1 [QSA,L]


Resterait plus qu'en suite à modifier la façon dont sont construit les liens dans ton site, pour sortir /vacancio-s19.html à la place de /site.php?idsite=19.

A voir, ça doit pas être trop compliqué, mais cela dépend de ton script.

++

_________________
Useful links :
SEO Forum || SEO Directory || SEO phpBB || SEO phpBB3 || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Référencement phpBB3 || Recherche
Revenir en haut de page
Visiter le site web de l'utilisateur
gcvoiron
PR1
PR1


Inscrit le: 08 Juin 2006
Messages: 120

Reecriture d'URLPosté le: Dim Déc 03, 2006 12:19 pm    Sujet du message: Re: Reecriture d'URL

Bonjour dcz,

En fait j'ai fais mon site moi même, partie php comprise.
J'ai une zone "admin", où je peux rajouter/modifier/supprimer mes concours. Quand je rajoutte un concours je précise nom, description [...] et le nom rewrité que je veux lui donner. Par exemple pour un concours "phpbb Seo", le nom rewrité serait "phpbb-seo". Et pour les liens de mes pages, j'ai mis qu'ils soient sous forme site.php?idsite=XX, mais je peux les modifier en site.php?idsite=nomrewrité.

Voilà, voilà.

PS : Je pense que ce n'est pas le plus simple d'indiquer moi même le nomrewrité, mais je n'ai pas compris comment faire autrement.

_________________
Gagnez argent et cadeaux avec Internet sur www.benefweb.com
Revenir en haut de page
dcz
Administrateur - Site Admin
Administrateur - Site Admin


Inscrit le: 28 Avr 2006
Messages: 15125

Reecriture d'URLPosté le: Dim Déc 03, 2006 4:15 pm    Sujet du message: Re: Reecriture d'URL

Et bien c'est parfait tout ça.

La méthode que je propose doit être très simple à mettre en place si tu connais bien le script.

Tu remplaces les liens (qui si ça se trouve sont tous construis à un seul endroit du script) de la forme :

Code:
"site.php?idsite=$idsite"


en :

Code:
"$titre_rewrite-s$idsite.html"


Directement à l'endroit où ils sont construits, et tu utilises cette RewriteRule :

Code:
RewriteRule ^.+-s([0-9]+)\.html$ /site.php?idsite=$1 [QSA,L]


Dans ton .htaccess, simplement avant les règles du forum du coup.

Et hop Wink

++

_________________
Useful links :
SEO Forum || SEO Directory || SEO phpBB || SEO phpBB3 || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Référencement phpBB3 || Recherche
Revenir en haut de page
Visiter le site web de l'utilisateur
gcvoiron
PR1
PR1


Inscrit le: 08 Juin 2006
Messages: 120

Reecriture d'URLPosté le: Dim Déc 03, 2006 4:56 pm    Sujet du message: Re: Reecriture d'URL

Merci dcz, mais je t'ai dis une erreur :
J'utilise principalement ce code pour afficher les liens :
Code:
<td class="table" align="center"><a href="../site.php?idsite='.$listeconcours[$i][idsite].'">Fiche d&eacute;taill&eacute;e</a></td>

_________________
Gagnez argent et cadeaux avec Internet sur www.benefweb.com
Revenir en haut de page
gcvoiron
PR1
PR1


Inscrit le: 08 Juin 2006
Messages: 120

Reecriture d'URLPosté le: Dim Déc 03, 2006 4:58 pm    Sujet du message: Re: Reecriture d'URL

Et j'utilise aussi :
Code:
<a href="site.php?idsite=<?php echo $idsite; ?>"><?php echo $nomsite; ?></a>

_________________
Gagnez argent et cadeaux avec Internet sur www.benefweb.com
Revenir en haut de page
gcvoiron
PR1
PR1


Inscrit le: 08 Juin 2006
Messages: 120

Reecriture d'URLPosté le: Dim Déc 03, 2006 5:03 pm    Sujet du message: Re: Reecriture d'URL

C'est bon, j'y suis arrivé en mettant ceci comme code :
Code:
<td class="table" align="center"><a href="'.$listeconcours[$i][nomrewrit].'-s'.$listeconcours[$i][idsite].'.html">Fiche d&eacute;taill&eacute;e</a></td>


Merci beaucoup dcz pour toute cette aide!

_________________
Gagnez argent et cadeaux avec Internet sur www.benefweb.com
Revenir en haut de page
dcz
Administrateur - Site Admin
Administrateur - Site Admin


Inscrit le: 28 Avr 2006
Messages: 15125

Reecriture d'URLPosté le: Dim Déc 03, 2006 5:11 pm    Sujet du message: Re: Reecriture d'URL

Et bien bravo Very Happy

Tu as aussi trouvé pour le deuxième type de lien ?

Le principe est le même, il suffit de respecter notre nouvelle structure d'url en sortie, le mod_rewrite fait le reste pour créer le lien entre cette structure et le script.

++

_________________
Useful links :
SEO Forum || SEO Directory || SEO phpBB || SEO phpBB3 || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Référencement phpBB3 || Recherche
Revenir en haut de page
Visiter le site web de l'utilisateur
gcvoiron
PR1
PR1


Inscrit le: 08 Juin 2006
Messages: 120

Reecriture d'URLPosté le: Dim Déc 03, 2006 5:12 pm    Sujet du message: Re: Reecriture d'URL

Oui, j'ai trouvé!
Merci encore.
Very Happy

_________________
Gagnez argent et cadeaux avec Internet sur www.benefweb.com
Revenir en haut de page
dcz
Administrateur - Site Admin
Administrateur - Site Admin


Inscrit le: 28 Avr 2006
Messages: 15125

Reecriture d'URLPosté le: Dim Déc 03, 2006 5:25 pm    Sujet du message: Re: Reecriture d'URL

Ça mériterait presque un we are ze champions de daniel Laughing

Fait bien attention de n'utiliser que ces nouveaux liens désormais sur tout le site.

Il faudrait aussi interdire les anciennes par Robots.txt :

Code:
Disallow: /site.php


Pour éviter les duplicates.

++

_________________
Useful links :
SEO Forum || SEO Directory || SEO phpBB || SEO phpBB3 || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Référencement phpBB3 || Recherche
Revenir en haut de page
Visiter le site web de l'utilisateur
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    phpBB SEO » Forum Référencement  » mod rewrite Apache
Page 1 sur 2 Aller à la page 1, 2  Suivante

Navigation Autres sujets de discussion

Sauter vers: