URL REW - phpBB

Nouveau WRInaute
Bonjour,

J'utilise actuellement phpbb ( derniere version ) , j'ai enlever les SID, et mis en place l'url rewriting avec l'aide des post trouvé sur ce forum.

J'aimerer que qu'unlqun qui a fait de meme pour son forum phpbb mette a disposition les fichiers viewtopic.php, viewforum.php et profile.php qui ont été modifier au niveau des liens pour afficher les page html, je suis pas trop doué en php merci.

Sinon pouvez vous me dire si ca a l'air propre ?

Code:
http://www.parlonsdamour.own-pc.com/viewforum.php?f=8
http://www.parlonsdamour.own-pc.com/viewforum_8.html

aussi, si on heberge plusieur site sur le meme ftp , on peut mettre un .htaccess et un robot.txt par repertoire ?

Merci à tous
 
Nouveau WRInaute
Donc un .htaccess contenant :

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^(.+).htm$ $1.html
RewriteRule ^(.+)-(.+)-(.*)-(.+)-(.*)-(.+)-(.*)-(.+)-(.*)-(.+)-(.*)-(.+)-(.*)-(.+)-(.*).html /$1.php?$2=$3&$4=$5&$6=$7&$8=$9&$10=$11&$12=$13&$14=$15
RewriteRule ^(.+)-(.+)-(.*)-(.+)-(.*)-(.+)-(.*)-(.+)-(.*)-(.+)-(.*)-(.+)-(.*).html /$1.php?$2=$3&$4=$5&$6=$7&$8=$9&$10=$11&$12=$13
RewriteRule ^(.+)-(.+)-(.*)-(.+)-(.*)-(.+)-(.*)-(.+)-(.*)-(.+)-(.*).html /$1.php?$2=$3&$4=$5&$6=$7&$8=$9&$10=$11
RewriteRule ^(.+)-(.+)-(.*)-(.+)-(.*)-(.+)-(.*)-(.+)-(.*).html /$1.php?$2=$3&$4=$5&$6=$7&$8=$9
RewriteRule ^(.+)-(.+)-(.*)-(.+)-(.*)-(.+)-(.*).html $1.php?$2=$3&$4=$5&$6=$7
RewriteRule ^(.+)-(.+)-(.*)-(.+)-(.*).html /$1.php?$2=$3&$4=$5
RewriteRule ^(.+)-(.+)-(.*)\.html /$1.php?$2=$3

seré universel pour les site php ? et je peut l'utilisé sans probleme sur mon phpbb ?
 
WRInaute discret
non. c'est plus bas sur la page en question le bon truc a faire:

dans ton .htaccess:

Code:
Options +FollowSymlinks 
RewriteEngine on 
RewriteRule ^(.+)\.php\.(.+)\.html $1.php?$2
ou
Code:
RewriteRule ^(.+)\.php\.(.+)\.html /$1.php?$2
comme derniere ligne si ca ne marche pas. je sais pas trop la difference.

---
deja tu fais ca. ensuite tu vérifie en essayant à la main si ca marche bien.
pour essayer, tu vas sur une page du style: ht*tp://tonsite.com/forum/pagebb.php?varia=tru&machin=tructurc
et ensuite tu la corriges à la main dans ton browser en:
ht*tp://tonsite.com/forum/pagebb.php.varia=tru&machin=tructurc.html
(apres le php il y a un point au lieu d'un ? et à la fin tu rajoutes un .html)
et ca doit marcher.

Ensuite il y a la 2eme etape qui consiste à corriger les liens des pages phpbb automatiquement....

ETAPE2
tu te débrouilles pour qu'au tout début des pages, la 1ere fonction executée soit:
Code:
<?php 
ob_start(); 
?>

et la derniere:
Code:
<?PHP //URL rewriting modifyed by sergi 
$contents = ob_get_contents(); // store buffer in $contents 
ob_end_clean(); // delete output buffer and stop buffering 
echo preg_replace("(\.php\?([-a-zA-Z0-9\.\%\?=\+_@\&\.,;:]+))", ".php.\\1.html", $contents); 
?>

Chez moi phpbb fait aprtie de postnuke mais c'est pas grave. je pense que tu peux mettre ces 2 bouts de codes en tout debut et toute fin de ton fichier index.php
Ou en debut de fichier header.php et fin de fichier foot.php si tu en as.

Je sais que dans Gallery (un truc php pour faire une galleri photo en ligne) le bout de code à la fin il ne suffit pas de le mettre en fin de fichier index.php car il y a dans une des pages includes php un exit() qui en arrete l'execution. Bref essaye donc dans index.php si ca ne marche, trouve les header et footer.

Le seul inconvénient que je connaisse de cette methode à ce jour, c'est que tous les liens de tes foruls seront transformés, meme ceux qui pointent vers d'autres sites. Et donc il faudrait corriger un jour la partie:
\.php\?([-a-zA-Z0-9\.\%\?=\+_@\&\.,;:]+) pour ne par faire le ereg_replace si il y a un http:// dans l'url. mais je sais pas encore faire ca.
 
WRInaute discret
si tu n'as pas d'url absolu vers ton propre site (normalement phpbb n'en met pas)
la distinction peut se faire en regardant si l'url commence par http://
au lieu de

echo preg_replace("(\.php\?([-a-zA-Z0-9\.\%\?=\+_@\&\.,;:]+))", ".php.\\1.html", $contents);

un truc du genre ...

echo preg_replace("([\"\'\'=]*[[:[0-9]+/?][:[-a-zA-Z0-9\.\%\?=\+_@\&\.,;]]-a-zA-Z0-9\.\%\?=\+_@\&\.,;/]+)(\.php\?([-a-zA-Z0-9\.\%\?=\+_@\&\.,;:]+))", "\\0.php.\\2.html", $contents);

devrait faire l'affaire... mais il doit y avoir plus simple... :-) bref en cherchant 5 minutes ca devrait se trouver .... moi je ne suis pas spécialiste des expressions régulières...
 
Olivier Duffez (admin)
Membre du personnel
merci de bien vouloir utiliser le style "Code" du forum quand tu écris tes messages, pour toutes les lignes de code PHP, HTML ou autre...
 
Nouveau WRInaute
Ma methode marche trés bien et je souhaite la conservé.

mon htacces est :

Code:
Options +FollowSymlinks
RewriteEngine on 
RewriteRule ^viewforum_([0-9]+)_([0-9]+)_([0-9]+)\.html$ viewforum.php?f=$1topicdays=$2&start=$3 [L] 
RewriteRule ^viewforum_([0-9]+)\.html$ viewforum.php?f=$1 [L] 
RewriteRule ^viewtopic_([0-9]+)_([0-9]+)_(asc|desc)_([0-9]+)\.html$ viewtopic.php?t=$1&postdays=$2&postorder=$3&start=$4 [L] 
RewriteRule ^viewtopic_([0-9]+)_([0-9]+)\.html$ viewtopic.php?t=$1&start=$2 [L] 
RewriteRule ^viewtopic_([0-9]+)_newest\.html$ viewtopic.php?t=$1&view=newest [L] 
RewriteRule ^viewtopic_([0-9]+)_previous\.html$ viewtopic.php?t=$1&view=previous [L] 
RewriteRule ^viewtopic_([0-9]+)_next\.html$ viewtopic.php?t=$1&view=next [L] 
RewriteRule ^viewtopic_([0-9]+)\.html$ viewtopic.php?t=$1 [L] 
RewriteRule ^viewprofile_([0-9]+)\.html$ profile.php?mode=viewprofile&u=$1 [L] 
RewriteRule ^viewmessage_([0-9]+)\.html$ viewtopic.php?p=$1 [L]

J'accede donc a mes pages par viewtopic_$idtopic.html et viewforum_$idforum.html

Je ne sait par contre pas changer mes liens,
 
Nouveau WRInaute
J'ai effectivement suivit cette methode a la lettre et elle marche trés bien,
Par contre le seul example donner pour changer le code de ses liens dans les fichiers est :

Code:
$goto_page .= '<a href="' . append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . "=" . $topic_id . "&start=$j") . '">' . $times . '</a>';

a changer par
Code:
$goto_page .= '<a href="' . append_sid("viewtopic_".$topic_id."_".$j.".html") . '">' . $times . '</a>';

Seulement, certain lien on beaucoup plus de parametre et je ne mi conné pas asser.

Qunlqun qui auré suivit cette methode auré les fichiers a disposition ?
 
Discussions similaires
Haut