Rewrite YourPHPAnnuaire, rewriting pour les recherches

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par webcrea, 22 Février 2007.

  1. webcrea
    webcrea Nouveau WRInaute
    Inscrit:
    1 Septembre 2003
    Messages:
    47
    J'aime reçus:
    0
    Bonjour,
    (désolé de reposter)

    Peut-être que quelqu'un en a déjà parlé mais je n'ai pas trouvé.
    Il y a quelque chose qui m'échappe dans Rewrite YourPHPAnnuaire : dans le htaccess il y a bien une ligne rewriting pour les recherches

    Code:
    RewriteRule -k[0-9]*-([0-9]+)\.html$   /search.php?action=seek&mots=id$1&nb_results2show=20&booleen=AND [L] 
    

    Cela marche bien pour la page 1 mais pas pour les pages suivantes !
    D'ailleurs dans search.php le code pour les pages suivantes est avec les variables dans les URL (donc non adapté aux URL en .html) :

    Code:
    echo "<a href=\"search.php?mots=".rawurlencode(htmlspecialchars($mots))."&page=".$i."&nb_results2show=".$nb_results2show."&booleen=".$booleen."&nb_sites_trouves=".$nb_sites_trouves."\">".$i."</a>\n"; 
    

    Comment remédier à ça ? Quel est le code des URL rewritées pour les pages suivantes ?

    De plus si je teste en tapant directement par exemple ma-recherche-k2-378.html au lieu de ma-recherche-k1-378.html (ça reste à la page 1).
    Quel est le souci ?

    Merci de votre aide.
     
  2. serval2a
    serval2a WRInaute accro
    Inscrit:
    21 Mars 2005
    Messages:
    2 578
    J'aime reçus:
    0
    Désolé, j'ai pris un peu de temps pour regarder ça mais il ne semble pas y avoir de modifications simples.
    @+
     
  3. webcrea
    webcrea Nouveau WRInaute
    Inscrit:
    1 Septembre 2003
    Messages:
    47
    J'aime reçus:
    0
  4. serval2a
    serval2a WRInaute accro
    Inscrit:
    21 Mars 2005
    Messages:
    2 578
    J'aime reçus:
    0
    Bonjour,
    Ce n'est pas très compliqué c'est juste que je n'y arrive pas totalement => http://boost.enaty.com/referencement,k2,379,n23.html

    Les liens en bas de page, pour passer d'une page à l'autre font des erreurs car je n'arrive pas à récupérer l'id proprement.
     
  5. serval2a
    serval2a WRInaute accro
    Inscrit:
    21 Mars 2005
    Messages:
    2 578
    J'aime reçus:
    0
    Finalement c'était plus facile que ce que je pensais même si absolument pas optimisé.
    => http://boost.enaty.com/musee,k2,206,n36.html

    En bas les liens vers les autres pages sont donc bien optimisés pour éviter un éventuel duplicate car on ne récupère pas le nombre de sites pour la 1e page qui est également affichée par le fichier qui contient les termes recherchés.

    La procédure :

    Dans le .htaccess ajouter :
    Code:
    RewriteRule -k([0-9]*)-([0-9]+)-n([0-9]*)\.html$	search.php?action=seek&mots=id$2&page=$1&nb_results2show=12&booleen=AND&nb_sites_trouves=$3 
    
    [L]
    Ouvrir search.php et trouver vers la fin :
    Code:
    			<?php
    			for ($i=1;$i<$nb_pages;$i++)
    			{
    				if ($i != $page)
    					echo "<a href=\"search.php?mots=".rawurlencode(htmlspecialchars($mots))."&page=".$i."&nb_results2show=".$nb_results2show."&booleen=".$booleen."&nb_sites_trouves=".$nb_sites_trouves."\">".$i."</a>\n";
    				else
    				{ echo "$i"; }
    				echo " - ";
    			}
    			//on affiche le dernier numero de page (sans tiret apres)
    			if ($i == $page)
    				echo $i;
    			else
    			{ echo "<a href=\"search.php?mots=".rawurlencode(htmlspecialchars($mots))."&page=".$i."&nb_results2show=".$nb_results2show."&booleen=".$booleen."&nb_sites_trouves=".$nb_sites_trouves."\">".$i."</a>\n"; }
    			?>
    Remplacer par :
    Code:
    			<?php
    $mots = isset($_REQUEST['mots']) ? $_REQUEST['mots'] : '';
    if ( preg_match("/^id(\d+)$/",$mots,$id) )
    {
    $mots = ereg_replace("id","",$mots);
    				for ($i=1;$i<$nb_pages;$i++)
    			{
    				if (($i != $page) && ($i == 1))
    					echo "<a href=\"".rawurlencode(htmlspecialchars($keyw['keyw']))."-k".$i."-".$mots.".html\">".$i."</a>\n";
    				else if (($i != $page) && ($i != 1))
    					echo "<a href=\"".rawurlencode(htmlspecialchars($keyw['keyw']))."-k".$i."-".$mots."-n".$nb_sites_trouves.".html\">".$i."</a>\n";
    				else
    				{ echo "$i"; }
    				echo " - ";
    			}
    			//on affiche le dernier numero de page (sans tiret apres)
    			if ($i == $page)
    				echo $i;
    			else
    			{ echo "<a href=\"".rawurlencode(htmlspecialchars($keyw['keyw']))."-k".$i."-".$mots."-n".$nb_sites_trouves.".html\">".$i."</a>\n"; }
    }
    else
    {
    				for ($i=1;$i<$nb_pages;$i++)
    			{
    				if ($i != $page)
    					echo "<a href=\"search.php?mots=".rawurlencode(htmlspecialchars($mots))."&page=".$i."&nb_results2show=".$nb_results2show."&booleen=".$booleen."&nb_sites_trouves=".$nb_sites_trouves."\">".$i."</a>\n";
    				else
    				{ echo "$i"; }
    				echo " - ";
    			}
    			//on affiche le dernier numero de page (sans tiret apres)
    			if ($i == $page)
    				echo $i;
    			else
    			{ echo "<a href=\"search.php?mots=".rawurlencode(htmlspecialchars($mots))."&page=".$i."&nb_results2show=".$nb_results2show."&booleen=".$booleen."&nb_sites_trouves=".$nb_sites_trouves."\">".$i."</a>\n"; }
    };
    			?>
    Espérant t'avoir rendu service.
    @+
     
  6. webcrea
    webcrea Nouveau WRInaute
    Inscrit:
    1 Septembre 2003
    Messages:
    47
    J'aime reçus:
    0
    Je viens d'intégrer et ça marche !
    Merci beaucoup serval2a, tu me rends bien service oui.

    Par contre, je n'ai pas compris pourquoi tu pouvais optimiser les liens du top mots cles mais pas ceux des recherches elles-mêmes ?

    Bonne soirée
     
  7. serval2a
    serval2a WRInaute accro
    Inscrit:
    21 Mars 2005
    Messages:
    2 578
    J'aime reçus:
    0
    Bonjour,

    Tu peux mais il faut modifier totalement la page search.php seulement c'est hors le principe du top recherche tel que inséré dans RW My PHP annuaire puisque tous les mots recherchés devront être insérés dans la base pour que cela fonctionne.
    Ce qui entrerai en conflit avec la fonction de bannissement de certains mots et celle limitant le nombre maximal d'entrées dans la table keyword.
    En fait pour un rewriting "à la volée" des liens sur une recherche il faut modifier quasi totalement cette partie du script.
     
Chargement...
Similar Threads - Rewrite YourPHPAnnuaire rewriting Forum Date
Rewrite url manuel URL Rewriting et .htaccess 19 Avril 2020
RegExp du Rewrite URL Rewriting et .htaccess 19 Décembre 2019
Ne prendre qu'une partie d'un QueryString dans une regex RewriteCond URL Rewriting et .htaccess 9 Décembre 2019
Astuce RewriteMap : convertir un .dbm.pag en txt ? Débuter en référencement 8 Juillet 2019
rewriteRule sur wamp erreur 404 URL Rewriting et .htaccess 20 Avril 2019
URL Rewriting : difficultés avec RewriteCond ? URL Rewriting et .htaccess 5 Décembre 2018
Problème avec ma ligne rewrite URL Rewriting et .htaccess 20 Juin 2018
Déplacer les RewriteRule du .htaccess vers le vhost URL Rewriting et .htaccess 16 Janvier 2018
Rewrite URL comment faire Débuter en référencement 17 Septembre 2017
Rewrite repertoire virtuel -> erreur 404 suite à maj serveur URL Rewriting et .htaccess 24 Juin 2017
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice