Rewrinting PHPBB prb avec ovh



Attention : Cette page est une version light du forum
Accéder à la version complète du forum


 
       AdoJeunZ Index du Forum -> Programmation - Webmastering - Referencement
Mazout
Bonjour a toutes et tous,
j'ai bien suivi les conseils du post
"Url rewriting phpbb avec le titre dans l'url" l'installation est ok, mais il y a un problème certainement du côte du fichier .htaccess (j'en suis pas certain) !

En fait les url du forum sont bien rewriter mais quand on clic sur les liens, les pages n'existe pas.

L'url est sous la forme :
h**p://www.monsite.com/forum/f1_0_0-mes-mots-clefs.html
Et lors du clic ----> error 404

Je suis heberge chez ovh je ne sais pas si cela peut être lie !

Merci de votre aide
Ohax
Montre moi voir ton htaccess ;-)
Mazout
RewriteEngine On
RewriteRule ^index.html /index.php
RewriteRule ^f([0-9]*)_([0-9]*)_([0-9]*)-.* /viewforum.php?f=$1&topicdays=$2&start=$3
RewriteRule ^f([0-9]*)-.* /viewforum.php?f=$1
RewriteRule ^([0-9]*)_([0-9]*)_([0-9]*)_([0-9]*)-.* /viewtopic.php?t=$1&postdays=$2&postorder=$3&start=$4
RewriteRule ^([0-9]*)_([0-9]*)-.* /viewtopic.php?t=$1&start=$2
RewriteRule ^([0-9]*)-.* /viewtopic.php?t=$1
Ohax
Chez ovh, cela marche avec un .htaccess dans le même dossier :

Citation: RewriteEngine On

RewriteRule ^index.html /forum/index.php

RewriteRule ^f([0-9]*)_([0-9]*)_([0-9]*)-.* /forum/viewforum.php?f=$1&topicdays=$2&start=$3

RewriteRule ^f([0-9]*)-.* /forum/viewforum.php?f=$1

RewriteRule ^([0-9]*)_([0-9]*)_([0-9]*)_([0-9]*)-.* /forum/viewtopic.php?t=$1&postdays=$2&postorder=$3&start=$4

RewriteRule ^([0-9]*)_([0-9]*)-.* /forum/viewtopic.php?t=$1&start=$2

RewriteRule ^([0-9]*)-.* /forum/viewtopic.php?t=$1


je pense que ça devrait marcher avec ça dans le même repertoire ;-)
Mazout
TRop costaud Ohax !
ca fonctionne a present !
je vais essayer d'aller encore un peu plus loin maintenant !

MERCI :lol:
Ohax
hehe ;-)

de rien

et bonne chance pour la suite :-)
Mazout
Euh j'ai juste une tite question !
Pourquoi tu n'utilises pas ceztte technique pour ton forum ?
Mazout
et aussi a quoi sert le fichier robots.txt dans le zip du MOD ?
Ohax
à supprimer le duplicate

c'est pour que google n'indexe pas les pages (ou desindexe) rewrite

c'est indispensable pour eviter les penalite

surtout depuis qu'il n'y a plus de sessions pour bloquer google

tu as bien supprime les session pour les invites comme l'explique le post au moins ?


ps : le robots.txt ce place à la racine du site

Exemple : http://www.adojeunz.com/robots.txt
Ohax
Citation: Euh j'ai juste une tite question !
Pourquoi tu n'utilises pas ceztte technique pour ton forum ?

Seuls les invites voient les urls rewrites ;-)

ça ne sert à rien de le faire pour les membres !

avantages :
- pratique en cas de changement d'url rewriting (chose que je ne ferai pas)
- permet d'economiser enormement de ressources
Mazout
OK merci pour ces infos,

- c'est pas dangeureux d'accepter les avatars ?
- sur mon forum n'importe quel invite peut poster un message, comment faire pour qu'on ne puisse pas poster sans être inscrit ?
- est-il possible d'avoir le même theme sur la partie admin que sur la partie forum ?
Ohax
Citation: - c'est pas dangeureux d'accepter les avatars ?

Si tu les heberges sur ton propre hebergement ou serveur ça ne risque rien ;-)
si tu choisit de faire comme adojeunz en liant à un autre site ça sera beaucoup plus chiant à administrer

donc je te conseille de les heberger sur ton forum si ta bande passante ainsi que tes ressources te le permettent

Citation: - sur mon forum n'importe quel invite peut poster un message, comment faire pour qu'on ne puisse pas poster sans être inscrit ?

Aller au Panneau d'administration
-> permission

tu selectionne un forum

et tu met " enregistre "

ne met pas invisible ou autres en faisant mumuse dans "avance" sinon l'url rewriting ne servira à rien ;-)

et tu repète l'operation pour chaque rubrique ;-)

Citation: - est-il possible d'avoir le même theme sur la partie admin que sur la partie forum ?

c'est à dire ?
tu parles de l'apparence ?

ça me semble pas très important si c'est ça mais logiquement ton thème doit pouvoir le gerer tout seul si tu l'a uploade et installe correctement ;-)
Mazout
Ok merci c'est nickel !

Maintenant j'essai de mettre en place sur la home de mon site un tableau contenant les 15 derniers post du forum, avec les titres, et biensur les liens rewrites.

Actuellement cela fonctionne mais les url sont sous cette forme :
http://www.monsite.com/forum/viewtopic.php?p=1#1
et j'aimerai qu'elles soient sous la forme :
http://www.monsite.com/forum/1_0-mes-mots-clefs-2.html

C'est possible ca ?
Ohax
Voici un de mes mods qui devrait pouvoir d'adapter très facilemment à ce que tu veut faire ;-)


Ohax a écrit: Je me suis permit d'apporter une petite contribution supplementaire a ce post :

http://www.webrankinfo.com/forums/viewtopic_25745.htm


Cet ajout est directemment applicable pour la Version 0.2.2

Il s'agit de la solution la plus simple que j'ai trouve pour permettre une meilleure indexation des forums qui ont subits cette modifications.
Cette modification est utile pour les forums qui depassent les 100 messages / jour.
Ce code vous sera egalemment utile si vous desirez utiliser l'url rewriting de kaizen afin de voir tous vos topics rapidemments indexees.

Le code n'est pas tres complique mais je pense que ceux qui ont appliques la modification de kaizen devraient s'appuyer dessus !


A la racine de votre forum nous allons creer le fichier lasts.php

Voici son code :

Code:
<title>Listing Sitemap</title>

<?
// Simple Sitemap phpbb for url rewrite kaizen V 2.2.0
// By Ohax http://www.adojeunz.com
// Support :  http://www.webrankinfo.com/forums/viewtopic_34332.htm

//Ce fichier est a mettre a la racine de votre forum

$repertoire = "lasts/"; // Repertoire des sitemaps
$opendir = opendir($repertoire);
$adresse_site = ""; // Adresse de votre site avec un slash a la fin ( /!\ cette variable est optionnelle)
$chemin_forum = ""; // Ici on indique le chemin du forum par exemple /forum/

while ($fichier = readdir($opendir)) {
if(is_file($repertoire.$fichier)) {
echo "Fichier ".$fichier;
echo "<br>";
echo "URL du sitemap specifique : <a href=$chemin_forum$repertoire$fichier>$adresse_site$chemin_forum$repertoire$fichier</a>";
echo "<br><br>";
}
}
closedir($opendir);

?>




Ensuite, nous allons tout creer un repertoire que l'on apellera lasts et que l'on placera à la racine du forum !

Dans ce repertoire nous y placerons un fichier php (peu importe le nom) contenant ce code dont je me suis inspire d'un code similaire pour le generer :


Code:
<title>Sitemap</title>

<?
// Simple Sitemap phpbb for url rewrite kaizen V 2.2.0
// By Ohax http://www.adojeunz.com
// Support :  http://www.webrankinfo.com/forums/viewtopic_34332.htm

//Ce fichier est a mettre dans un repertoire nomme lasts situe a la racine de votre forum

include('../config.php'); // Indiquez le chemin vers votre config.php
$base= ""; // Nom de votre base de donnee
$chemin_forum = ""; // Ici on indique le chemin du forum par exemple /forum/

$link = mysql_connect ($dbhost,$dbuser,$dbpasswd) or die ('Erreur : '.mysql_error() ); // Connection à la base de donnee
mysql_select_db($base) or die ('Erreur :'.mysql_error());

$select = "SELECT topic_title,topic_id,topic_replies,topic_poster FROM phpbb_topics WHERE forum_id= 17 ORDER BY topic_id DESC limit 200"; // WHERE forum_id= indique le forum afficher et DESC limit indique le nombre de posts a afficher ;-)
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );

while($row = mysql_fetch_array($result))

{

$topic_id = $row['topic_id'];
$titre = $row['topic_title'];

// Maintenant on passe à l'url rewriting et à la generation des urls

$change_space = "-";

$url_title = $titre;

$url_title = strtolower($url_title);
           
$url_title = strtr($url_title,'áâàäeêèëíîìïóôòöúûùüýçñ','aaaaeeeeiiiioooouuuuycn');

$url_title = preg_replace("/(&gt;|&lt;|&quot;|&amp;)/",$change_space,$url_title);

$url_title = preg_replace("/[^a-z0-9_\-]/",$change_space,$url_title);

$url_title = preg_replace("/[$change_space]+/",$change_space,$url_title);

($url_title{0} == $change_space ? $url_title = substr($url_title,1) : '' );

($url_title{strlen($url_title)-1} == $change_space ? $url_title = substr($url_title,0, strlen($url_title)-1) : '' );

// On affiche le resultat

echo '<a href="'.$chemin_forum.''.$topic_id.'_0-'.$url_title.'.html">'.$titre.'</a><br>';

}

mysql_free_result($result);

mysql_close(); //On ferme la connection à la base de donnee

?>


Maintenant passont à la ligne 12

Code: $select = "SELECT topic_title,topic_id,topic_replies,topic_poster FROM phpbb_topics WHERE forum_id= 17 ORDER BY topic_id DESC limit 200";

Code: WHERE forum_id=
Correspond a l'id du forum dont vous voulez faire la map
Vous devrez donc faire 5 fichier avec 5 valeur differentes si vous avez 5 rubriques ;-)

Code: DESC limit
Indique le nombre de posts qui doivent être affiches


Il y a aussi possibilite de ne faire qu'un seul fichier en supprimant la partie "WHERE forum_id=" mais la presentation sera moin structuree et vous risquez d'indexer les liens de vos topics de moderation ou rubrique privee

Bien evidemment n'oubliez pas de faire un lien vers lasts.php pour que google indexe votre simple sitemap !

En esperant que cela puisse servir au plus grand nombre ;-)
 
       AdoJeunZ Index du Forum -> Programmation - Webmastering - Referencement
Page 1 sur 1

phpBB Search Engine Indexer © phpRebel
Powered by phpBB2001, 2002 phpBB Group
Traduction par : phpBB-fr.com