8791 sujets

Développement web côté serveur, CMS

Bonjour,
difficile de trouver un titre à mon post.

Alors voilà le contexte :
J'ai développé une galerie photo avec base de donnée : www.sylvaincedat.fr/galerie. Mes photos sont classés par pays.
Je me sert de l'erreur 404 pour faire une sorte d'URL rewriting afin de pouvoir gérer des URL "virtuelles" qui renvoient vers mes albums photo.
J'ai donc d'un côté le .htaccess suivant :
ErrorDocument 404 /galerie/index.php

et de l'autre un bout de code dans mon fichier index.php qui récupère "l'URL virtuelle" et récupère les paramètres :


if (preg_match('#galerie/(fr|en)/([a-zA-Z0-9-_/]+)/album_([0-9]+)\.html$#', $_SERVER['REQUEST_URI'], $match))  //album
{
	header("Status: 200 OK", false, 200); 
	$lg=$match[1];
	$dossier=$match[2];
	$page=$match[3];
	$test=1;
}

elseif (preg_match('#galerie/(fr|en)/([a-zA-Z0-9-_/]+)$#', $_SERVER['REQUEST_URI'], $match))  // Pays ou "sous-pays"
{
	header("Status: 200 OK", false, 200); 
	$lg=$match[1];
	$dossier=$match[2];
	$test=2;
}
else {
	header("Status: 200 OK", false, 200); 
	$test=0;
}


Par exemple une URL du type www.sylvaincedat.fr/galerie/Australie/Sydney/album_2.html sera traitée par le fichier index.php en récupérant les paramètres suivant :
- dossier (australie) et sous dossier (sydney)
- numéro de l'album (2)

J'en arrive donc à mon pb Smiley lol :
il se trouve que certaines versions de navigateur renvoient quand même une erreur 404. Je ne sais pas si cela vient du navigateur qui "s'aperçoit" que le dossier n'existe pas sur le serveur ou si c'est une configuration du serveur de mon hébergeur (1and1) qui cause l'erreur. Mais sous firefox aucun pb. Je n'ai pu vérifier l'erreur que sus ie8.

Une question qui va dans la continuité : comment sont traitées de telles URLs virtuelles par les robots de référencement type google? Apparemment le robot google ne reconnait pas la page (test avec l'outil de soumission d'URL dans google webmaster)...
Modifié par trikiwoo (11 Feb 2010 - 15:28)
Heyoan: Ça peut servir à faire de l'url rewriting compatible tous serveurs. Par exemple si on a pas accès à Apache et son module rewrite.

Trikiwoo: essai de renvoyer ça comme entête :


header("HTTP/1.0 200 OK");
header("Status: 200 OK"); 


Par contre faut penser à renvoyer un entête 404 si l'url n'est pas correcte.
Modifié par jb_gfx (11 Feb 2010 - 09:52)
jb_gfx a écrit :
Par exemple si on a pas accès à Apache et son module rewrite.
Ah... j'ai jamais eu le cas.
Modifié par Heyoan (11 Feb 2010 - 09:56)
Heyoan: Merci pour les 2 liens, le premier se révèle fort utile!
C'est donc bien dans la config de 1and1 qu'était le problème : http://faq.1and1.fr/hebergements/htaccess/10.html
Voici donc mon nouveau .htaccess :
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) /index.php 

Ainsi toute URL est renvoyée vers mon fichier php qui gère la suite...
tout à l'air de marcher Smiley smile
C'est vrai que je pourrais utiliser une URL rewriting classique maintenant que je me suis documenté dessus. Je ne connaissais en fait pas toute l'étendu des possibilités de l'URL rewriting lorsque j'ai voulu le mettre en place, j'étais plus à l'aise en php donc c'est pour ça que j'ai procédé ainsi...
Donc merci de m'avoir aidé à résoudre le pb.

Quelques questions demeurent cependant : qu'en est-il de la visibilité des robots de référencement? Est-il possible/utile de faire un site map avec toutes les URL virtuelles?
Bref : comment faire en sorte que les pages correspondant à mes albums (classés par pays et région) soient indexées correctement auprès des moteurs de recherche? Smiley rolleyes
Modifié par trikiwoo (11 Feb 2010 - 14:40)
trikiwoo a écrit :
Je ne connaissais en fait pas toute l'étendu des possibilités de l'URL rewriting lorsque j'ai voulu le mettre en place, j'étais plus à l'aise en php donc c'est pour ça que j'ai procédé ainsi...
C'est ce qu'il me semblait. Smiley cligne

trikiwoo a écrit :
Quelques questions demeurent cependant : qu'en est-il de la visibilité des robots de référencement? Est-il possible/utile de faire un site map avec toutes les URL virtuelles?
Pour le référencement c'est fait automatiquement : tous les liens de ton site qui sont fonctionnels (qui renvoient un statut 200) seront indexés.

Pour plus d'infos il vaudrait mieux faire un tour sur webrankinfo.com dont c'est le thème.
Modifié par Heyoan (11 Feb 2010 - 14:53)
ok parfait! Merci Smiley ravi
Je viens de vérifier ça avec l'outil mis en place par google (https://www.google.com/webmasters/tools/) et effectivement, mes URL virtuelles sont maintenant bien lisibles par les robots (enfin au moins celui de google).
J'attends quand même de voir si toutes mes pages vont être indexées (j'ai soumis un sitemap) car j'ai lu sur pas mal de forums des incertitudes quant à la bonne indexation lorsqu'on utilise des URL virtuelles ou de l'URL rewriting...
Modifié par trikiwoo (11 Feb 2010 - 15:04)
trikiwoo a écrit :
j'ai lu sur pas mal de forums des incertitudes quant à la bonne indexation lorsqu'on utilise des URL virtuelles ou de l'URL rewriting...
Ben je ne suis pas un expert mais à mon avis ça n'a aucune incidence. Je dirais même que la notion "d'url virtuelle" est... virtuelle ! Smiley langue Une url mène ou non vers un document et basta. Que celui-ci corresponde à un "fichier réel" sur le serveur ou qu'il soit généré en php et qu'il y ait ou non du rewriting côté serveur le moteur de recherche s'en fiche.

Si tu considères que ce sujet est [Résolu] merci de l'indiquer en éditant ton premier post et en modifiant le titre. Smiley cligne