Les archives de FluxBB.fr
Vous n'êtes pas identifié(e).
bonsoir,
J'utilise le Mod NewpunRewrite (qui marche très bien) et je souhaiterai lui apporter une modification.
En effet lorsque je rajoute la balise [Résolu] devant le titre de sujet mon URL devient http://www.monsite/forum/sujet-1-resolu-titre-de-thread
Je voudrais donc que le mot resolu n'apparaisse pas dans URL, est ce possible? Je pense qu'il faut rajouter une règle dans .htaccess mais la quelle?
voici mon .htaccess
Options +FollowSymlinks
RewriteEngine On
RewriteBase /linux/forum
RewriteRule ^index.html$ index.php [L]
RewriteRule ^forum-([0-9]+)-([0-9]+).html$ viewforum.php?id=$1&p=$2 [L]
RewriteRule ^forum-([0-9]+)(.*)$ viewforum.php?id=$1 [L]
RewriteRule ^sujet-([0-9]+)-([0-9]+).html$ viewtopic.php?id=$1&p=$2 [L]
RewriteRule ^sujet-([0-9]+)(.*)$ viewtopic.php?id=$1 [L]
RewriteRule ^message-([0-9]+)(.*)$ viewtopic.php?pid=$1 [L]
RewriteRule ^profil-([0-9]+)(.*)$ profile.php?id=$1 [L]
RewriteRule ^inscription.html$ register.php [L]
RewriteRule ^connexion.html$ login.php [L]
RewriteRule ^recherche.html$ search.php [L]
RewriteRule ^recherche-([0-9]+).html$ search.php?search_id=$1 [L]
RewriteRule ^recherche-([0-9]+)-([0-9]+).html$ search.php?search_id=$1&p=$2 [L]
RewriteRule ^utilisateurs.html$ userlist.php [L]
RewriteRule ^recherche-24-heures.html$ search.php?action=show_24h [L]
RewriteRule ^([0-9]+)-mes-messages.html$ search.php?action=show_user&user_id=$1 [L]
RewriteRule ^mes-marque-pages.html$ search.php?action=show_subscriptions [L]
RewriteRule ^recherche-sans-reponse.html$ search.php??action=show_unanswered [L]
RewriteRule ^profile-([0-9]+)(.*)$ profile.php?id=$1 [L]
RewriteRule ^utilisateurs-pseudo(.*)-groupe(.*)-sort(.*)-ordre(.*)-([0-9]+)(.*)$ userlist.php?username=$1&show_group=$2&sort_by=$3&sort_dir=$4&p=$5 [L]
RewriteRule ^regles.html$ misc.php?action=rules [L]merci d'avance
Dernière modification par bender (18-01-2009 21:49:09)
Hors ligne
Il faudrait utiliser les crochet pour exclure ce texte. Mais personnellement à ta place je laisserais, ça permet lors de question d'indiquer aux visiteurs (moteurs de recherche) que le sujet a bien été résolu.
...
Hors ligne
Le titre lui même reste avec [résolu] donc l'utilisateur saura que le sujet a été résolu. par contre il est inutile de le faire (re)apparaitre dans le lien (en fin c'est ce que je pense)
Le mot est bien entre les crochets [ ] Comment devrait-je écrire la règle?
Hors ligne
a priori il faudrait mettre:
RewriteRule ^sujet-([0-9]+)-resolu-(.*)$ viewtopic.php?id=$1mais cela ne semble pas marcher
Hors ligne
Je ne sait pas exactement si c'est possible mais je suis sur que ce n'est pas ta règle qu'il faut utiliser. 
...
Hors ligne
merci pour ta réponse, mais pourrais tu être plus précis(e)?
Par exemple dans viewtopic.php j'ai:
$paging_links = $lang_common['Pages'].': '.paginate($num_pages, $p, 'sujet-'.$id);Que dois-je rajouter?
merci
Hors ligne
Je ne vois pas où il faut faire des modifications, alors je mets toutes les lignes avec "sujet":
function confirm_referrer($script)
{
global $pun_config, $lang_common;
$url = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';
$tab = explode("/",$url);
$newurl = $tab[count($tab)-1];
if ($script == "viewtopic.php") {
if ((!preg_match('#^'.preg_quote(str_replace('www.', '', $pun_config['o_base_url']).'/'.$script, '#').'#i', str_replace('www.', '', (isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '')))) and (substr($newurl, 0, strpos($newurl,"-"))!="sujet") and (substr($newurl, 0, strpos($newurl,"-"))!="message"))
message($lang_common['Bad referrer']);
} else {
if (!preg_match('#^'.preg_quote(str_replace('www.', '', $pun_config['o_base_url']).'/'.$script, '#').'#i', str_replace('www.', '', (isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : ''))))
message($lang_common['Bad referrer']);
}
}$subject = '<a href="sujet-'.$search_set[$i]['tid'].'-'.pun_url($search_set[$i]['subject']).'">'.pun_htmlspecialchars($search_set[$i]['subject']).'</a>';$subject = '<a href="sujet-'.$search_set[$i]['tid'].'-'.pun_url($search_set[$i]['subject']).'">'.pun_htmlspecialchars($search_set[$i]['subject']).'</a> <span class="byuser">'.$lang_common['by'].' '.pun_htmlspecialchars($search_set[$i]['poster']).'</span>';$subject_multipage = '[ '.paginate($num_pages_topic, -1, 'sujet-'.$search_set[$i]['tid']).' ]';$subject = $lang_forum['Moved'].': <a href="sujet-'.$cur_topic['id'].'-'.pun_url($cur_topic['subject']).'">'.pun_htmlspecialchars($cur_topic['subject']).'</a> <span class="byuser">'.$lang_common['by'].' '.pun_htmlspecialchars($cur_topic['poster']).'</span>';
else if ($cur_topic['closed'] == '0')
$subject = '<a href="sujet-'.$cur_topic['id'].'-'.pun_url($cur_topic['subject']).'">'.pun_htmlspecialchars($cur_topic['subject']).'</a> <span class="byuser">'.$lang_common['by'].' '.pun_htmlspecialchars($cur_topic['poster']).'</span>';
else
{
$subject = '<a href="sujet-'.$cur_topic['id'].'-'.pun_url($cur_topic['subject']).'">'.pun_htmlspecialchars($cur_topic['subject']).'</a> <span class="byuser">'.$lang_common['by'].' '.pun_htmlspecialchars($cur_topic['poster']).'</span>';
#$subject_multipage = '[ '.paginate($num_pages_topic, -1, 'sujet-'.$cur_topic['id']).' ]';$paging_links = $lang_common['Pages'].': '.paginate($num_pages, $p, 'sujet-'.$id);echo '<li><a href="'.$pun_config['o_base_url'].'/sujet-'.$cur_topic['id'].'-'.pun_url($cur_topic['subject']).'.html" title="'.pun_htmlspecialchars($cur_topic['subject']).'">'.$subject_truncated.'</a></li>'."\n";echo "\t\t".'<link>'.$pun_config['o_base_url'].'/sujet-'.$cur_topic['id'].'-'.pun_url($cur_topic['subject']).'</link>'."\r\n";
echo "\t\t".'<description><![CDATA['.escape_cdata($lang_common['Forum'].': <a href="'.$pun_config['o_base_url'].'/forum-'.$cur_topic['fid'].'-'.pun_url($cur_topic['forum_name']).'">'.$cur_topic['forum_name'].'</a><br />'."\r\n".$lang_common['Author'].': '.$cur_topic['poster'].'<br />'."\r\n".$lang_common['Posted'].': '.date('r', $cur_topic['posted']).'<br />'."\r\n".$lang_common['Last post'].': '.date('r', $cur_topic['last_post'])).']]></description>'."\r\n";merci pour ton aide
Hors ligne
j' ai essayé d'adopter ça pour les autres "sujet" me cela ne marche pas, en fait ca ne change rien de tout pour mes liens
Edit:
il y a un truc que je ne comprends pas: une fois mes url's réécris les mots comme le, la, pc etc ne figure pas dans l'url..pourquoi? J'imagine que c'est mon htaccess qui fais ca mais alors pour quelle raison on ne peut pas faire pareil pour [Résolu]?
merci pour vos explications
Dernière modification par bender (21-01-2009 21:14:03)
Hors ligne
Hors ligne
j'ai essayé de remplacer les lignes avec qui contenait "sujet" de cette manière:
$subject = $lang_forum['Moved'].': <a href="sujet-'.$cur_topict['id'].'-'.pun_url($cur_topic['subject']).'">'.pun_htmlspecialchars($cur_topic['subject']).'</a> <span class="byuser">'.$lang_common['by'].' '.pun_htmlspecialchars($cur_topic['poster']).'</span>';Par:
$unresolved_subject = preg_replace("/^\[Résolu\] /", "", $cur_topic);
$subject = $lang_forum['Moved'].': <a href="sujet-'.$unresolved_subject['id'].'-'.pun_url($cur_topic['subject']).'">'.pun_htmlspecialchars($cur_topic['subject']).'</a> <span class="byuser">'.$lang_common['by'].' '.pun_htmlspecialchars($cur_topic['poster']).'</span>';Hors ligne
C'est normal que cela marche pas, cela ne correspond pas à l'exemple que je t'ai donné, tu m'as fait n'importe quoi là hmm

Bon j'ai fais la modification sur les trois lignes qui contenait le "sujet" mais maintenant tout les liens de forum (même ceux qui n'ont pas de "resolu") se termine par punoogle
exemple:
http://localhost/linux/forum-linux/sujet-320-punoogle
Dernière modification par bender (21-01-2009 22:49:19)
Hors ligne
salut,
Voilà les modifications:
en haut de fichier viewforum j'ai mis:
$unresolved_subject = preg_replace("/^\[Résolu\] /", "", $cur_topic['subject']);puis:
if ($cur_topic['moved_to'] != 0)
$subject = $lang_forum['Moved'].': <a href="sujet-'.$cur_topic['id'].'-'.pun_url($unresolved_subject).'">'.pun_htmlspecialchars($cur_topic['subject']).'</a> <span class="byuser">'.$lang_common['by'].' '.pun_htmlspecialchars($cur_topic['poster']).'</span>';
else if ($cur_topic['closed'] == '0')
$subject = '<a href="sujet-'.$cur_topic['id'].'-'.pun_url($unresolved_subject).'">'.pun_htmlspecialchars($cur_topic['subject']).'</a> <span class="byuser">'.$lang_common['by'].' '.pun_htmlspecialchars($cur_topic['poster']).'</span>';
else
{
$subject = '<a href="sujet-'.$cur_topic['id'].'-'.pun_url($unresolved_subject).'">'.pun_htmlspecialchars($cur_topic['subject']).'</a> <span class="byuser">'.$lang_common['by'].' '.pun_htmlspecialchars($cur_topic['poster']).'</span>';
$icon_text = $lang_common['Closed icon'];
$item_status = 'iclosed';
}Dernière modification par bender (22-01-2009 20:41:59)
Hors ligne
après la modification les liens sont devenus comme avant et "resolu" y est aussi :-/
Hors ligne
Je serai toi, j'abandonnerai cette mod au profit d'une qui ne modifie pas le titre du sujet directement (bien que n'existant pas), j'en avais codé une comme ça mais je n'ai plus de trace de celle-ci... 
Si tu as le courage, sache que les modifications à faire ne sont pas énormes. 
Avant de poser une question, avez-vous consulté la FAQ ou fait une recherche ?
Pas de support si pas d'adresse de forum !
Hors ligne
le voici:
Code trop long supprimé
autre chose:
En local j'ai un soucis d'accents sous apache2 (je vais régler ca plus tard) ce qui fait que mes topic's sont: [Résolu] CentOS 5.2 comment installer?
Et de coupr ceux-là sont reecris correctement (je veux dire que "resolu" n'est pas dans url)
Dernière modification par bender (22-01-2009 22:13:05)
Hors ligne