Résolu : Petits soucis dans la réecriture de mes pages
13 messages • Page 1 sur 1
Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics
Résolu : Petits soucis dans la réecriture de mes pages
Bonjour,
j'en suis à l'url rewriting de mon site. En cehrchant ici et ailleurs j'ai trouvé une règle de réécriture qui me convient presque (mise dans un fichier fonctions.php)
j'ai juste un souci :
Il s'agit de réécrire les pages d'un annuaire qui sont au départ de ce type
.../index.php?cat_id= XX qui devient alors ..../mapage-lenomdemacategorie-p1-XX.html
lenomdemacategorie est bien sur le nom de la catégorie dont l'id est XX
Le script que j'ai trouvé permet, à partir de ce nom, de supprimer les accents, remplacer les majuscules par des minuscules...
Cependant, je ne suis pas encore très familiarisé avec ce type de langage et j'aimerais modifier certains points. Ainsi, s'il y a un tiret dans mon nom de categorie, celui-ci est supprimé. Par exemple : Livres-Librairies devient livreslibrairies, ce qui m'ennuit pour le référencement car je perds ainsi 2 mots clés.
Ce que je voudrais, c'est que losqu'il y a un tiret dans mon nom de catégorie, celui-ci soit conservé (Livres-Librairies >> livres-librairies) et que quand il y a un espace, celui-ci soit supprimer alors qu'actuellemnt il est remplacé par un tiret
Voici le code, si qqn pouvez me dire ce que je dois modifier :
function id_to_url_info ()
{
// Le nom des fichiers se terminera par ça
$suffixe = '.html';
// Nombre maximum de caractères pour le nom de la rubrique
$caracteres = 50;
// Remplacer ces caractères ...
$car_speciaux = array( 'À','Á','Â','Ã','Ä','Å','Æ','à','á','â','ã','ä','å','æ','È','É','Ê','Ë','è','é','ê','ë','Ì','Í','Î','Ï','ì','í','î','ï','Ò','Ó','Ô','Õ','Ö','Ø','ò','ó','ô','õ','ö','ø','Ù','Ú','Û','Ü','ù','ú','û','ü','ß','Ç','ç','Ð','ð','Ñ','ñ','Þ','þ','Ý' );
// ... par ceux-ci
$car_normaux = array( 'A','A','A','A','A','A','A','a','a','a','a','a','a','a','E','E','E','E','e','e','e','e','I','I','I','I','i','i','i','i','O','O','O','O','O','O','o','o','o','o','o','o','U','U','U','U','u','u','u','u','B','C','c','D','d','N','n','P','p','Y' );
return array( $suffixe, $caracteres, $car_speciaux, $car_normaux );
};
function id_to_url ($id,$cat,$page,$type='')
{
global $T_infos, $PMA_infos;
// Déterminer s'il faut faire de l'URL Rewritting
if ( $PMA_infos['url_rewritting'] )
{
list( $suffixe, $caracteres, $car_speciaux, $car_normaux ) = id_to_url_info();
// Supprime les accents, supprime les caractères non-alphanumériques, convertit en minuscules, remplace les tirets multiples par un tiret unique, supprime le dernier caractère si c'est un tiret, et limite la chaine aux $caractères premiers caractères
$url = substr( eregi_replace( "\-$", '', eregi_replace( "\-+", '-', strtolower( eregi_replace( "[^A-Za-z0-9]", '-', str_replace($car_speciaux, $car_normaux, $cat) ) ) ) ), 0, $caracteres );
// Applique le suffixe à l'url
$url = $type=='keyw' ? "$url-k$page-$id$suffixe" : "$url-p$page-$id$suffixe";
return $url;
}
else
{
if ( $type=='keyw' ) {
return "search.php?action=seek&mots=id$id&nb_results2show=20&booleen=AND";
} else {
return $page==1 ? "index.php?cat_id=$id" : "index.php?cat_id=$id&page=$page";
};
};
}
Merci pour votre aide
j'en suis à l'url rewriting de mon site. En cehrchant ici et ailleurs j'ai trouvé une règle de réécriture qui me convient presque (mise dans un fichier fonctions.php)
j'ai juste un souci :
Il s'agit de réécrire les pages d'un annuaire qui sont au départ de ce type
.../index.php?cat_id= XX qui devient alors ..../mapage-lenomdemacategorie-p1-XX.html
lenomdemacategorie est bien sur le nom de la catégorie dont l'id est XX
Le script que j'ai trouvé permet, à partir de ce nom, de supprimer les accents, remplacer les majuscules par des minuscules...
Cependant, je ne suis pas encore très familiarisé avec ce type de langage et j'aimerais modifier certains points. Ainsi, s'il y a un tiret dans mon nom de categorie, celui-ci est supprimé. Par exemple : Livres-Librairies devient livreslibrairies, ce qui m'ennuit pour le référencement car je perds ainsi 2 mots clés.
Ce que je voudrais, c'est que losqu'il y a un tiret dans mon nom de catégorie, celui-ci soit conservé (Livres-Librairies >> livres-librairies) et que quand il y a un espace, celui-ci soit supprimer alors qu'actuellemnt il est remplacé par un tiret
Voici le code, si qqn pouvez me dire ce que je dois modifier :
function id_to_url_info ()
{
// Le nom des fichiers se terminera par ça
$suffixe = '.html';
// Nombre maximum de caractères pour le nom de la rubrique
$caracteres = 50;
// Remplacer ces caractères ...
$car_speciaux = array( 'À','Á','Â','Ã','Ä','Å','Æ','à','á','â','ã','ä','å','æ','È','É','Ê','Ë','è','é','ê','ë','Ì','Í','Î','Ï','ì','í','î','ï','Ò','Ó','Ô','Õ','Ö','Ø','ò','ó','ô','õ','ö','ø','Ù','Ú','Û','Ü','ù','ú','û','ü','ß','Ç','ç','Ð','ð','Ñ','ñ','Þ','þ','Ý' );
// ... par ceux-ci
$car_normaux = array( 'A','A','A','A','A','A','A','a','a','a','a','a','a','a','E','E','E','E','e','e','e','e','I','I','I','I','i','i','i','i','O','O','O','O','O','O','o','o','o','o','o','o','U','U','U','U','u','u','u','u','B','C','c','D','d','N','n','P','p','Y' );
return array( $suffixe, $caracteres, $car_speciaux, $car_normaux );
};
function id_to_url ($id,$cat,$page,$type='')
{
global $T_infos, $PMA_infos;
// Déterminer s'il faut faire de l'URL Rewritting
if ( $PMA_infos['url_rewritting'] )
{
list( $suffixe, $caracteres, $car_speciaux, $car_normaux ) = id_to_url_info();
// Supprime les accents, supprime les caractères non-alphanumériques, convertit en minuscules, remplace les tirets multiples par un tiret unique, supprime le dernier caractère si c'est un tiret, et limite la chaine aux $caractères premiers caractères
$url = substr( eregi_replace( "\-$", '', eregi_replace( "\-+", '-', strtolower( eregi_replace( "[^A-Za-z0-9]", '-', str_replace($car_speciaux, $car_normaux, $cat) ) ) ) ), 0, $caracteres );
// Applique le suffixe à l'url
$url = $type=='keyw' ? "$url-k$page-$id$suffixe" : "$url-p$page-$id$suffixe";
return $url;
}
else
{
if ( $type=='keyw' ) {
return "search.php?action=seek&mots=id$id&nb_results2show=20&booleen=AND";
} else {
return $page==1 ? "index.php?cat_id=$id" : "index.php?cat_id=$id&page=$page";
};
};
}
Merci pour votre aide
Dernière édition par code le Lun Aoû 29, 2005 14:13, édité 1 fois.
bon
Bon bah déjà, le rewriting de ton forum est à compléter. Tu n'as pas enlevé les SID, alors ça ne sert à rien d'avoir des pages du type forum1.html&sid=dfbc5672d762e85079abc8c48a8837e9
Pour cela il te faut installer la version 0.04 du guest session mod de cyber alien, qui doit être compatible avec a peu pret tous les mod d' UR.
Et si tu veux mettre en place un Url Rewriting plus efficace, jette un oeil là : http://www.webrankinfo.com/forums/viewtopic_31831.htm
++
Pour cela il te faut installer la version 0.04 du guest session mod de cyber alien, qui doit être compatible avec a peu pret tous les mod d' UR.
Et si tu veux mettre en place un Url Rewriting plus efficace, jette un oeil là : http://www.webrankinfo.com/forums/viewtopic_31831.htm
++
lol
code a écrit:comprend pa alors puisque j'ai suivi guest sessions mod et moi je ne les vois plus alors si toi tu les voit c'est pas normal... mais ou est le bug ?
Lol, désolé, ils n'y sont plus maintenant, j'ai dû vérifier trop vite pour que tes modifs apparaissent.
Tu peut maintenant utiliser le mod sitemap original qui fonctionne avecto rewriting moyennant cette modif dans sitemap.php :
- Code: Tout sélectionner
#remplacer
'TOPIC_URL' => $server_url."viewtopic.$phpEx?t=" . $topic['topic_id'],
#par
'TOPIC_URL' => $server_url."ftopic" . $topic['topic_id'] . ".html",
Tu peut ensuite effecuer les même modifications que j'ai fait pour la version que j'utilise de ce mod pour le mettre à la racine du site (et pas dans le dossier phpbb) en faisant :
- Code: Tout sélectionner
#Remplacer dans sitemap.php
$phpbb_root_path = './';
#Par
$phpbb_root_path = 'votredossierphpBB/';
Ce permet de coder en dur dans sitemap_body.tpl les éventuelles url de pages se trouvant un cran au dessus du dossier de votre forum en respectant la synthaxe observée.
Ce mod est très efficace pour google, il vous suffit ensuit d'inscrire votre toute nouvelle sitemap ici.
je ne compte pas utiliser un sitemap pour le forum. Je l'avais fait pour mon site et je trouve pas que les résultats soit vraiment probant. Par ailleurs, je crois même que la soumission du sitemap via le panneau admin google a seulement abouti à un ralentissement dans la prise en compte en profondeur de mon site et depuis que je l'ai enlevé, les bots suivent bien les liens (est-ce une simple coincidence??)
Sinon puisque tu as l'air de bien connaitre phpbb, j'ai un petit soucis avec le format de date. dans le panneau admin, j'ai fait la modif en virant le "a" pour ne plus avoir pm ou am et j'ai choisi GMT+1. pourtant ces modifs ne sont pas prises en compte quand on poste un message et conserve les parametres par défaut. Je ne comprends pas pourquoi.
Sinon puisque tu as l'air de bien connaitre phpbb, j'ai un petit soucis avec le format de date. dans le panneau admin, j'ai fait la modif en virant le "a" pour ne plus avoir pm ou am et j'ai choisi GMT+1. pourtant ces modifs ne sont pas prises en compte quand on poste un message et conserve les parametres par défaut. Je ne comprends pas pourquoi.
ah bon
code a écrit:je ne compte pas utiliser un sitemap pour le forum. Je l'avais fait pour mon site et je trouve pas que les résultats soit vraiment probant. Par ailleurs, je crois même que la soumission du sitemap via le panneau admin google a seulement abouti à un ralentissement dans la prise en compte en profondeur de mon site et depuis que je l'ai enlevé, les bots suivent bien les liens (est-ce une simple coincidence??)
Sinon puisque tu as l'air de bien connaitre phpbb, j'ai un petit soucis avec le format de date. dans le panneau admin, j'ai fait la modif en virant le "a" pour ne plus avoir pm ou am et j'ai choisi GMT+1. pourtant ces modifs ne sont pas prises en compte quand on poste un message et conserve les parametres par défaut. Je ne comprends pas pourquoi.
C'est marrant, en ce qui me concerne, cela a favoriser l'indexages des pages situes un peu en profondeur. Mais en même temps, je ne veux référencer que mes "bonnes url" , le rest est interdit par le robots.txt.
Pour ton format d'heur je ne vois pas trop de quoi tu parles.
Si c'est à propos des heure d'hivers et d'été, voici la solution :
http://www.phpbb.com/phpBB/viewtopic.ph ... 01&start=0
I have been looking through all that has been written here about Daylight Saving Time and about extensive mods. I may be barking up the wrong tree, but I have been able to come up with a very simple two line MOD to phpBB 2.04 that is working for me.
In include\functions.php
Code:
#
#-------[ FIND ]-----------------------------------------
#
return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * $tz)), $translate) : @gmdate($format, $gmepoch + (3600 * $tz));
#
#------[ REPLACE WITH ]----------------------------------
#
// Fix for Daylight Savings Time
$dst = date('I', $gmepoch) * 3600;
return ( !empty($translate) ) ? strtr(@gmdate($format, $gmepoch + (3600 * $tz) + $dst), $translate) : @gmdate($format, $gmepoch + (3600 * $tz) + $dst);
#
#------{ SAVE/CLOSE ALL FILES ]--------------------------
#
# EoM
++
Résolu
C'est bon j'ai trouvé. Si ça peut servir à qqn :
alors pour mon problème de tiret j'ai remplacé ça :
$url = substr( eregi_replace( "\-$", '', eregi_replace( "\-+", '-', strtolower( eregi_replace( "[^A-Za-z0-9]", '-', str_replace($car_speciaux, $car_normaux, $cat) ) ) ) ), 0, $caracteres );
par ça :
$url = substr( eregi_replace( "\-$", '', eregi_replace( "\-+", '-', strtolower( eregi_replace( "[^A-Za-z0-9-]", '', str_replace($car_speciaux, $car_normaux, $cat) ) ) ) ), 0, $caracteres );
voila ça marche. Mes tirets sont conservés quand il ya en a dans le titre de la categorie, et les espaces sont supprimés
alors pour mon problème de tiret j'ai remplacé ça :
$url = substr( eregi_replace( "\-$", '', eregi_replace( "\-+", '-', strtolower( eregi_replace( "[^A-Za-z0-9]", '-', str_replace($car_speciaux, $car_normaux, $cat) ) ) ) ), 0, $caracteres );
par ça :
$url = substr( eregi_replace( "\-$", '', eregi_replace( "\-+", '-', strtolower( eregi_replace( "[^A-Za-z0-9-]", '', str_replace($car_speciaux, $car_normaux, $cat) ) ) ) ), 0, $caracteres );
voila ça marche. Mes tirets sont conservés quand il ya en a dans le titre de la categorie, et les espaces sont supprimés
13 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités


le forum