philippe-h Posté 30 Avril 2008 Posté 30 Avril 2008 bonjour! suite à un problème d'URL rewriting sur un script Freeglobes, j'expose ici le problème en détail dans la mesure où je sais que traînent par ici quelques spécialistes d'OVH et du fichier .htaccess! voici donc l'exposé des faits: je suis en train d'installer la dernière version de freeglobes sur un hébergement 0VH / 90PLAN, plus précisément sur un multidomaine. L'URL-rewriting est activé, voici le fichier .htaccess actuel: SetEnv REGISTER_GLOBALS 0RewriteEngine onRewriteRule /(.*)-f-([0-9]*)-([0-9]*).html$ /annuaire-bretagne/feed.php?feedid=$2&linkid=$3 [L]RewriteRule /(.*)-s-([0-9]*).html$ /annuaire-bretagne/single.php?id=$2 [L]RewriteRule /(.*)-t-([0-9]*).html$ /annuaire-bretagne/tag.php?name=$1&id=$2 [L]RewriteRule /(.*)-c-([0-9]*).html$ /annuaire-bretagne/index.php?name=$1&dir=$2 [L]RewriteRule /(.*)-k-([0-9]*).html$ /annuaire-bretagne/index.php?do=keywords&words=$1&id=$2 [L]RewriteRule /(.*)-c-([0-9]*)-p-([0-9]*).html$ /annuaire-bretagne/index.php?name=$1&dir=$2&start=$3 [L]RewriteRule /top-rank([0-9]{1,2}).html$ /annuaire-bretagne/index.php?do=top-rank&pr=$1 [L]RewriteRule /(([a-z]|-)*).html$ /annuaire-bretagne/index.php?do=$1 [L] Les droits sont en 777 sur le .htaccess. Tous les liens sont OK sauf ceux menant vers les catégories. Un message de firefox s'affiche: Redirection de page incorrecte Firefox a détecté que le serveur redirige la demande pour cette adresse d'une manière qui n'aboutira pas. * La cause de ce problème peut être la désactivation ou le refus des cookies. D'autre part, j'ai effacé toutes les catégories, puis recommencé, mais il semblerait que les numéros des catégories ne se réinitialisent pas, càd que lors de la création d'une première catégorie (après avoir supprimé les 6 catégories précédentes) le numéro de cette catégorie porte le numéro 7 dans l'URL, est-ce normal? voici l'url de l'annuaire: http://www.menhir-location/annuaire-bretagne/ merci pour votre aide précieuse! N.B: tout fonctionne si je désactive le rewriting, mais je tiens vraiment à l'activer! merci pour votre aide, c'est clairement le fichier .htaccess qui n'est pas bon, ou/et un pb lié au multidomaine?
Dan Posté 30 Avril 2008 Posté 30 Avril 2008 Il faudrait commencer par mettre l'URL correcte ! L'URL de l'annuaire est http://www.menhir-location.fr/annuaire-bretagne/ (tu as oublié le .fr) Pour le numéro 7 de ta catégorie, c'est normal. Tu n'as pas remis à zéro l'auto-incrément.... Tu devrais préfixer les .html par \ (mettre \.html) et remplacer les * par + (vu qu'il t'en faut au moins un) Et tu peux aussi supprimer le premier / dans tes règles.
philippe-h Posté 30 Avril 2008 Auteur Posté 30 Avril 2008 bonjour Dan, et merci de vous pencher sur ce qui est pour moi un gros casse-tête depuis 3 jours! merci d'avoir modifié mon lien! j'ai fait les modifs au niveau des / des \ des + et des * mais cela ne fonctionne pas (du tout!) voici donc le .htaccess modifié: SetEnv REGISTER_GLOBALS 0RewriteEngine onRewriteRule /(.+)-f-([0-9]+)-([0-9]+)\.html$ annuaire-bretagne/feed.php?feedid=$2&linkid=$3 [L]RewriteRule /(.+)-s-([0-9]+)\.html$ annuaire-bretagne/single.php?id=$2 [L]RewriteRule /(.+)-t-([0-9]+)\.html$ annuaire-bretagne/tag.php?name=$1&id=$2 [L]RewriteRule /(.+)-c-([0-9]+)\.html$ annuaire-bretagne/index.php?name=$1&dir=$2 [L]RewriteRule /(.+)-k-([0-9]+)\.html$ annuaire-bretagne/index.php?do=keywords&words=$1&id=$2 [L]RewriteRule /(.+)-c-([0-9]+)-p-([0-9]+)\.html$ annuaire-bretagne/index.php?name=$1&dir=$2&start=$3 [L]RewriteRule /top-rank([0-9]{1,2})\.html$ annuaire-bretagne/index.php?do=top-rank&pr=$1 [L]RewriteRule /(([a-z]|-)+)`\.html$ annuaire-bretagne/index.php?do=$1 [L]
Kourance Posté 30 Avril 2008 Posté 30 Avril 2008 (modifié) Voici un extrait de ce que j'ai et qui marche chez OVH : CODE RewriteRule ^(.+)-s-([0-9]+).html$ single.php?id=$2 [L]RewriteRule ^(.+)-c-([0-9]+).html$ index.php?name=$1&dir=$2 [L] RewriteRule ^(.+)-c-([0-9]+)-p-([0-9]+).html$ index.php?name=$1&dir=$2&start=$3 [L] RewriteRule ^(.+)-k-([0-9]+).html$ index.php?do=keywords&words=$1&id=$2 [L] RewriteRule ^(.+)-k-([0-9]+)-p-([0-9]+).html$ index.php?do=keywords&words=$1&id=$2&start=$3 [L] RewriteRule ^(([a-z]|-)+).html$ index.php?do=$1 [L] J'avais aussi fait quelques modifs par rapport à l'original pour le rendre (un peu) plus propre. Par contre j'ai un ^ en début de règle, mais je ne sais plus si c'est impératif. Après, il faut vérifier que tu as tout le code, soit redownloader tout le package, soit suivre le fil par des tests successifs en partant de index.php. J'ai pas mal modifié la structure de mon freeglobes et de mémoire, j'avais eu ces messages quand le code n'était pas au point. Edit : j'ai retrouvé mon doc de référence sur le rewriting (http://www.webmaster-hub.com/publication/Mod-rewrite-ou-la-reecriture-des.html) et il me semble que le ^ est nécessaire. Modifié 30 Avril 2008 par deskiller
Dan Posté 30 Avril 2008 Posté 30 Avril 2008 Edit : j'ai retrouvé mon doc de référence sur le rewriting (http://www.webmaster-hub.com/publication/Mod-rewrite-ou-la-reecriture-des.html) et il me semble que le ^ est nécessaire. Merci pour le "doc de référence". Il date un peu (mais est toujours d'actualité) et mériterait une suite... Le ^ (caret) n'est pas indispensable, vu qu'il marque de début de ligne. Avec certaines configurations Apache, ce début d'expression peut être un /. C'est pourquoi j'utilise toujours le ? après le / du début, comme ça il devient facultatif. Dan
philippe-h Posté 30 Avril 2008 Auteur Posté 30 Avril 2008 j'ai essayé, ça ne fonctionne toujours pas, je suis au bord de la crise de nerfs! j'ai aussi essayé avec les URLS complètes (voir ci-dessous), rien à faire. L'utilisation du ^ ne fonctionne pas du tout (plus aucun lien ne fonctionne, alors qu'avec les / tout fonctionne SAUF les catégories) Je rappelle qu'il s'agit d'un NDD de chez OVH, mais hébergé en multidomaine d'un autre NDD, lui aussi chez OVH. voici mon fichier actuel: SetEnv REGISTER_GLOBALS 0Options +FollowSymlinks RewriteEngine OnRewriteRule /(.+)-f-([0-9]+)-([0-9]+).html$ http://www.menhir-location.fr/annuaire-bretagne/feed.php?feedid=$2&linkid=$3 [L]RewriteRule /(.+)-s-([0-9]+).html$ http://www.menhir-location.fr/annuaire-bretagne/single.php?id=$2 [L]RewriteRule /(.+)-t-([0-9]+).html$ http://www.menhir-location.fr/annuaire-bretagne/tag.php?name=$1&id=$2 [L]RewriteRule /(.+)-c-([0-9]+).html$ http://www.menhir-location.fr/annuaire-bretagne/index.php?name=$1&dir=$2 [L]RewriteRule /(.+)-k-([0-9]+).html$ http://www.menhir-location.fr/annuaire-bretagne/index.php?do=keywords&words=$1&id=$2 [L]RewriteRule /(.+)-c-([0-9]+)-p-([0-9]+).html$ http://www.menhir-location.fr/annuaire-bretagne/index.php?name=$1&dir=$2&start=$3 [L]RewriteRule /top-rank([0-9]{1,2}).html$ http://www.menhir-location.fr/annuaire-bretagne/index.php?do=top-rank&pr=$1 [L]RewriteRule /(([a-z]|-)+).html$ http://www.menhir-location.fr/annuaire-bretagne/index.php?do=$1 [L]
Kourance Posté 1 Mai 2008 Posté 1 Mai 2008 Un petit retour sur la solution, vu que ça a l'air de marcher maintenant
philippe-h Posté 1 Mai 2008 Auteur Posté 1 Mai 2008 en effet, après des heures de recherche, une illumination: il faut mettre /repertoire/ (remplacer "repertoire" par le nom de votre répertoire dans lequel se trouve le script freeglobes) avant les URL, dans la colonne de droite ET celle de gauche; voilà ce que cela donne: SetEnv REGISTER_GLOBALS 0RewriteEngine OnRewriteRule /repertoire/(.*)-f-([0-9]*)-([0-9]*).html$ /repertoire/feed.php?feedid=$2&linkid=$3 [L]RewriteRule /repertoire/(.*)-s-([0-9]*).html$ /repertoire/single.php?id=$2 [L]RewriteRule /repertoire/(.*)-t-([0-9]*).html$ /repertoire/tag.php?name=$1&id=$2 [L]RewriteRule /repertoire/(.*)-c-([0-9]*).html$ /repertoire/index.php?name=$1&dir=$2 [L]RewriteRule /repertoire/(.*)-k-([0-9]*).html$ /repertoire/index.php?do=keywords&words=$1&id=$2 [L]RewriteRule /repertoire/(.*)-c-([0-9]*)-p-([0-9]*).html$ /repertoire/index.php?name=$1&dir=$2&start=$3 [L]RewriteRule /repertoire/top-rank([0-9]{1,2}).html$ /repertoire/index.php?do=top-rank&pr=$1 [L]RewriteRule /repertoire/(([a-z]|-)*).html$ /repertoire/index.php?do=$1 [L] tout fonctionne parfaitement! merci à ceux qui ont essayé de filer un coup de pouce!
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant