Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Serveurs (Apache, IIS,...) > Apache
Apache Forum d'entraide Apache. Avant de poster : Cours Apache, FAQ Apache
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/01/2011, 23h58   #1
Membre du Club
 
Inscription : novembre 2007
Messages : 757
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 757
Points : 44
Points : 44
Par défaut url rewriting & identifiants

Bonsoir,

une petite question toute simple dont je ne trouve aucune reponse

je viens de mettre en place une regle pour les reecritures des url pour un site marchand et selon certaines recommandations, il faut avoir une url la plus courte possible d'optimiser au max le referencement...
j'ai donc opté pour cette structure : www.monsite.com/chaussures/101-112/ sans mettre les rubriques et/ ou categories, mais ce que j'aimerais faire est d'afficher UNIQUEMENT www.monsite.com/chaussures/, est ce possible de recuperer les 2 identifiant dont j'ai besoin autrement??

MErci beaucoup
redah75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2011, 13h37   #2
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 277
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 277
Points : 8 563
Points : 8 563
bah non : si le navigateur ne transmet pas ces informations, comment veux-tu qu'Apache les devine ? Il n'y a qu'un moyen pour transmettre ces infos sans qu'elles figurent dans l'URL : faire des requêtes POST. Mais là, pour le coup, tu as tout perdu car y a rien de pire que les requêtes POST pour le référencement car les moteurs d'indexation ne les jouent jamais.

Entre nous, je ne suis pas sûr que ton site gagne en référencement en supprimant ces paramètres d'une URL qui contient déjà mois de 20 caractères... Tu aurais une URL de 150 caractères et tu la ramènerais à 30 ou 50 caractères, je veux bien, mais là, faut pas exagérer. A ce rythme là, autant interdire aux sites d'avoir des sous-répertoires...
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2011, 16h23   #3
Membre du Club
 
Inscription : novembre 2007
Messages : 757
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 757
Points : 44
Points : 44
Bonjour _Mac_ et meilleurs voeux

Citation:
bah non : si le navigateur ne transmet pas ces informations, comment veux-tu qu'Apache les devine ?
j'etais justement entrain de penser a une solution extreme et qui peut s'averer trop penalisante: c'est de faire une requete sql WHERE rub LIKE 'rubrique' mais non, j'oublie!!

je vais donc mettre les 2 identifiant mais d'une maniere differente:
www.monsite.com/chaussures/101112/ sachant que l'id est toujours en 3 chiffres, j'utiliserai substr() pour recuperer les 2 identifiants, qu'en penses tu?

et sinon quelle forme d'url preferes tu?
- www.monsite.com/chaussures/101112/
- www.monsite.com/chaussures/101112.html
- www.monsite.com/chaussures-101112/
- www.monsite.com/chaussures-101112.html

si aucune ne te satisfait, que mettrais tu?

Merci
redah75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2011, 21h52   #4
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 277
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 277
Points : 8 563
Points : 8 563
Je n'ai aucune préférence. Je trouve juste idiot de faire un substr juste pour avoir le plaisir de se passer d'un - dans l'URL. Honnêtement, je ne changerais rien, je trouve www.monsite.com/chaussures/101-112/ très bien. A la limite, www.monsite.com/chaussures/101-112.html ou www.monsite.com/chaussures-101-112.html mais je ne pense pas que changer vaille le coup.
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2011, 22h28   #5
Membre du Club
 
Inscription : novembre 2007
Messages : 757
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 757
Points : 44
Points : 44
OK merci bien, je vais opter pour www.monsite.com/chaussures-101-112/

penses tu que le site de apple.com utilise les url rewriting ?
http://www.apple.com/fr/mac/
http://www.apple.com/fr/iphone/
http://www.apple.com/fr/ipad/
redah75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/01/2011, 22h55   #6
Membre du Club
 
Inscription : novembre 2007
Messages : 757
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 757
Points : 44
Points : 44
excuse moi, je viens de me rendre compte d'une petite faille:
quand on est par exemple sur www.site.com/chaussures-101-112/ et que quelqu'un, un petit curieux modifie l'url en www.site.com/chaus-101-112/, j'obtiendrai quand meme la meme page etant donné que je me base sur les identifiants... ceci peut etre penalisant dans la mesure où mon site peut etre reperé pour du Duplicate Content!

dois je alors faire une verification de l'url avec PHP en me connectant a la base de donnees??? ou as tu une meilleure idee?

Merci
redah75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 00h56   #7
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 277
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 277
Points : 8 563
Points : 8 563
Citation:
Envoyé par redah75 Voir le message
ceci peut etre penalisant dans la mesure où mon site peut etre reperé pour du Duplicate Content!
A condition que cette URL trafiquée figure sur une page quelque part sur le Web. Si ce n'est pas le cas, rien à craindre.

Citation:
Envoyé par redah75 Voir le message
dois je alors faire une verification de l'url avec PHP en me connectant a la base de donnees???
Vu que tu ne peux pas faire cette vérification depuis Apache, oui, c'est préférable en PHP.
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 01h14   #8
Membre du Club
 
Inscription : novembre 2007
Messages : 757
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 757
Points : 44
Points : 44
Citation:
A condition que cette URL trafiquée figure sur une page quelque part sur le Web. Si ce n'est pas le cas, rien à craindre.
mais j'imagine que c'est preferable de faire une verification, non??
je remarque qui si je change http://www.developpez.net/forums/d10...-identifiants/
en http://www.developpez.net/forums/d10...iis/apache/url il me remet l'url originale!! comment developpez.net fait?

Citation:
Vu que tu ne peux pas faire cette vérification depuis Apache, oui, c'est préférable en PHP
le principe est de:
1- recuperer le titre (chaussures) depuis la base de donnees
2- le comparer avec l'url
3- si different alors un header(/chaussures/...); ??

Merci bien
redah75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 01h33   #9
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 277
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 277
Points : 8 563
Points : 8 563
Oui, c'est préférable de faire une vérification et c'est ce que fait le forum de DVP.

Ce que tu décris est correct.
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 01h59   #10
Membre du Club
 
Inscription : novembre 2007
Messages : 757
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 757
Points : 44
Points : 44
Cool, merci
je vais faire le script de verification et te tiendrai au courant.

Merci pour tout et bonne nuit
redah75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 02h39   #11
Membre du Club
 
Inscription : novembre 2007
Messages : 757
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 757
Points : 44
Points : 44
avant d'aller dormir, je voulais faire ce petit script que voici:
Code :
1
2
3
4
5
6
$sel = $dbh->query("SELECT category FROM categories WHERE id_cat = '$id_cat'");
$res = $sel->fetchObject();
$cat_db = clean_up_string($res->category); // fonction qui supprimes caracteres speciaux et accents...
$cat_url = substr($_SERVER['REQUEST_URI'], 1, strrpos($_SERVER['REQUEST_URI'], "-") - 1); // site.com/chaussures-102/
	
if($cat_db != $cat_url) header("Location: /$cat_db-$id_cat1/");
et ca marche bien! qu'en penses tu? vois tu une faille ou une meilleure version???
dois je mettre un header du genre Header( "HTTP/1.1 301 Moved Permanently" ); avant la redirection ?
redah75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 17h22   #12
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 277
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 277
Points : 8 563
Points : 8 563
PHP met l'en-tête HTTP/1.1 302 (et pas 301) pour toi dès qu'il voit qu'on fait un header("Location").
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 17h35   #13
Membre du Club
 
Inscription : novembre 2007
Messages : 757
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 757
Points : 44
Points : 44
Citation:
PHP met l'en-tête HTTP/1.1 302 (et pas 301) pour toi dès qu'il voit qu'on fait un header("Location").
Ah ok, j'ai trouvé le header 301 sur le net. c'est donc pas bon, ok!

et sinon, par rapport au code, ca te convient?
pour comparer les 2 chaines de caracteres, mieux vaut utiliser un simple == ou plutot strcmp ou encore substr_compare ?
redah75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 17h42   #14
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 277
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 277
Points : 8 563
Points : 8 563
Le code me paraît correct en lecture rapide. Faut s'assurer que les connexions aux bases sont bien refermées avant de faire la redirection.

Pour la comparaison de chaînes, aucune idée, pose la question sur le forum PHP.

Pour info, je tiens mon 302 de la doc PHP qui devrait être juste (c'est toujours une bonne idée d'aller lire la doc, on ne le répètera jamais assez).
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/01/2011, 17h53   #15
Membre du Club
 
Inscription : novembre 2007
Messages : 757
Détails du profil
Informations forums :
Inscription : novembre 2007
Messages : 757
Points : 44
Points : 44
OK, parfait!
Merci infiniment, je ne sais ce que je deviendrai sans vous...

@ bientot
redah75 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h51.


 
 
 
 
Partenaires

Hébergement Web