Rewriting marche à moitié!!

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics

bigs32
WRInaute impliqué
WRInaute impliqué
 
Messages: 467
Inscription: Lun Mai 08, 2006 22:48

Rewriting marche à moitié!!

Message le Lun Juil 16, 2007 17:53

j'ai mon URL rewriting sur mon site http://www.business.info11.net/
pour afficher les catégories , ça marche impeccable
pour afficher les catégories , ça marche impeccable
Par contre pour aller à la page suivante dans la sous catégorie le rewriting ne marche plus .
Je me retrouve exemple avec ce lien :
http://www.business.info11.net/index.ph ... =24&page=2
alors que j'aimerais que ca affiche :
categorie-souscategorie-page1.html

voici mon htaccess.
Code: Tout sélectionner
RewriteEngine on
RewriteRule -p([0-9]*)-([0-9]+)\.html$  /index.php?cat_id=$2&page=$1 [L]
RewriteRule -([0-9]+)\.html$  /index.php?cat_id=$1 [L]
RewriteRule -k[0-9]*-([0-9]+)\.html$   /search.php?action=seek&mots=id$1&nb_results2show=20&booleen=AND [L]
RewriteRule ^sitemap\.xml$      /allcategs.php?sitemap [L]


j'utilise categorizator comme script annuaire
Si quelqu'un pourrait m'aider , ca me remonterait le moral surtout que je pars pas en vacances.:(

Merci d'avance


keroin
WRInaute accro
WRInaute accro
 
Messages: 2299
Inscription: Sam Avr 29, 2006 16:33

Message le Lun Juil 16, 2007 18:12

Enlève la deuxième ligne
Code: Tout sélectionner
RewriteRule -([0-9]+)\.html$  /index.php?cat_id=$1 [L]

;)

bigs32
WRInaute impliqué
WRInaute impliqué
 
Messages: 467
Inscription: Lun Mai 08, 2006 22:48

Message le Lun Juil 16, 2007 18:19

keroin a écrit:Enlève la deuxième ligne
Code: Tout sélectionner
RewriteRule -([0-9]+)\.html$  /index.php?cat_id=$1 [L]

;)

j'ai enlevé mais ca marche toujours pas !!!


keroin
WRInaute accro
WRInaute accro
 
Messages: 2299
Inscription: Sam Avr 29, 2006 16:33

Message le Lun Juil 16, 2007 18:24

Tu n'aurais pas fait une maj vers YourPHPAnnuaire dernièrement ?
Si oui, vérifie que tu as bien fait toutes les modifs (et notamment que le nouveau fichier "functions.php" est bien en place...

Le htaccess original doit ressembler à ça

Code: Tout sélectionner
RewriteEngine on
RewriteRule -p([0-9]*)-([0-9]+)\.html$   /index.php?cat_id=$2&page=$1 [L]
RewriteRule -k[0-9]*-([0-9]+)\.html$   /search.php?action=seek&mots=id$1&nb_results2show=20&booleen=AND [L]
RewriteRule ^sitemap\.xml$  /allcategs.php?sitemap [L]


webmasterlamogere
WRInaute accro
WRInaute accro
 
Messages: 1874
Inscription: Dim Déc 17, 2006 21:08

Message le Lun Juil 16, 2007 18:33

C'est le script PHP qui n'est pas bon. Il faut utiliser la fonction id_to_url pour déterminer l'url rewrité il me semble.

bigs32
WRInaute impliqué
WRInaute impliqué
 
Messages: 467
Inscription: Lun Mai 08, 2006 22:48

Message le Lun Juil 16, 2007 18:37

keroin a écrit:Tu n'aurais pas fait une maj vers YourPHPAnnuaire dernièrement ?
Si oui, vérifie que tu as bien fait toutes les modifs (et notamment que le nouveau fichier "functions.php" est bien en place...

Le htaccess original doit ressembler à ça

Code: Tout sélectionner
RewriteEngine on
RewriteRule -p([0-9]*)-([0-9]+)\.html$   /index.php?cat_id=$2&page=$1 [L]
RewriteRule -k[0-9]*-([0-9]+)\.html$   /search.php?action=seek&mots=id$1&nb_results2show=20&booleen=AND [L]
RewriteRule ^sitemap\.xml$  /allcategs.php?sitemap [L]


dans function j'ai ajuste la fonction pagination pour une meilleure présentation dont voici le code :
Code: Tout sélectionner
function pagination($nb_sites, $page, $nb_pages, $nb_sites_on_page, $cat_id)
{
       
        //affichage de la ligne de liens numerotes pour les pages
   if ($nb_sites > $nb_sites_on_page)
   //si il y a trop de sites a afficher sur la page
   {

                if ($cat_id!=0)
                // cad si on est dans une catégorie
                {
                        ?>
              <center><span class="link_numpage_annuaire">
              <?php
              if ($page>1)
              {
                        $page=$page-1;
                      //echo "<a href="index.php?cat_id=$cat_id&page=$page"><b><< pr&eacute;c&eacute;dent</b></a>&nbsp;";
                      $page=$page+1;
                        }
       
              if ($page-4>1)
                 $deb=$page-4;
              else
                 $deb=1;
              if ($nb_pages+4<=$nb_pages)
                 $fin=$page+4;
              else
                 $fin=$nb_pages;
/*
              for ($i=$deb;$i<=$fin; $i++)
                 if($i==$page)
                 echo "&nbsp;$i&nbsp;";
              else
                 echo "&nbsp;<a href="index.php?cat_id=$cat_id&page=$i">$i</a>&nbsp;";
*/       
                 if ($page<$nb_pages)
                    {
                  echo "<a href="index.php?cat_id=$cat_id&page=$page"><b><< pr&eacute;c&eacute;dent</b></a>&nbsp;";
                  echo "["."<a href="index.php?cat_id=$cat_id&page=">1</a>&nbsp;..&nbsp;";
                  echo "&laquo;&nbsp;"."<a href="index.php?cat_id=$cat_id&page=$page">$page</a>"."&nbsp;&raquo;";
                  echo ".."."<a href="index.php?cat_id=$cat_id&page=$nb_pages">$nb_pages</a>"."]";
                      $page=$page+1;
                      echo "&nbsp;&nbsp;<a href="index.php?cat_id=$cat_id&page=$page"><b>suivant >></b></a><br>";
                      $page=$page-1;
                         }
       
              ?>
              </span><br>
              </center>
              <?php
      }

      else
      // cad si on est dans les nouveautés ou sur la page d'acceuil
      {

                        ?>
                    <center><span class="link_numpage_annuaire">
                    <?php
                    if ($page>1)
                    {
                                      $page=$page-1;
                            echo "<a href="index.php?cat_id=$cat_id&page=$page"><b><< pr&eacute;c&eacute;dent</b></a>&nbsp;";
                            $page=$page+1;
                              }

                    if ($page-4>1)
                       $deb=$page-4;
                    else
                       $deb=1;
                    if ($nb_pages+4<=$nb_pages)
                       $fin=$page+4;
                    else
                       $fin=$nb_pages;
                    for ($i=$deb;$i<=$fin; $i++)
                       if($i==$page)
                       echo "&nbsp;$i&nbsp;";
                    else
                       echo "&nbsp;<a href="index.php?cat_id=$cat_id&page=$i">$i</a>&nbsp;";

                              if ($page<$nb_pages)
                    {
                            $page=$page+1;
                            echo "&nbsp;&nbsp;<a href="index.php?cat_id=$cat_id&page=$page"><b>suivant >></b></a><br>";
                            $page=$page-1;
                               }

                    ?>
                    </span><br>
                    </center>
                    <?php

            }
   }   
}

j'ai peu être fais une connerie .j'ai la dernière maj de categorizator


webmasterlamogere
WRInaute accro
WRInaute accro
 
Messages: 1874
Inscription: Dim Déc 17, 2006 21:08

Message le Lun Juil 16, 2007 18:47

Il faut remplacer par exemple :
Code: Tout sélectionner
<a href=\"index.php?cat_id=$cat_id&page=$i\">


par :

Code: Tout sélectionner
<a href=\"" . id_to_url ($cat_id,$cat_name,$i) . "\">

bigs32
WRInaute impliqué
WRInaute impliqué
 
Messages: 467
Inscription: Lun Mai 08, 2006 22:48

Message le Lun Juil 16, 2007 19:14

webmasterlamogere a écrit:Il faut remplacer par exemple :
Code: Tout sélectionner
<a href="index.php?cat_id=$cat_id&page=$i">


par :

Code: Tout sélectionner
<a href="" . id_to_url ($cat_id,$cat_name,$i) . "">

j'ai testé en local et j'ai cette erreur

Code: Tout sélectionner
Notice: Undefined variable: cat_name in d:\apache\easyphp1-8\www\annuairesport3\functions.php on line 359

Notice: Undefined variable: i in d:\apache\easyphp1-8\www\annuairesport3\functions.php on line 359
<< précédent
Notice: Undefined variable: cat_name in d:\apache\easyphp1-8\www\annuairesport3\functions.php on line 360

Notice: Undefined variable: i in d:\apache\easyphp1-8\www\annuairesport3\functions.php on line 360
[1 .. « 2 »..3]  suivant >>


je ne comprends pas
si j'ai ce genre de lien:
http://www.business.info11.net/index.ph ... =24&page=2
avec le htaccess que vous m'avez donné , il y aurait pas de probleme et pourtant .


webmasterlamogere
WRInaute accro
WRInaute accro
 
Messages: 1874
Inscription: Dim Déc 17, 2006 21:08

Message le Lun Juil 16, 2007 20:37

Il faut aller chercher avant le nom de la catégorie :

Code: Tout sélectionner
$sql_infos = "SELECT cat_name FROM $T_categories WHERE id = '$cat_id' ";
$res_infos = send_sql($sql_infos,"trouver les infos de cette catégorie");
if (($res_infos = mysql_fetch_array($res_infos,MYSQL_ASSOC)) === false) {
  $cat_name = $res_infos['cat_name'];
}


Le htaccess ne transforme pas une URL non rewrité en URL rewrité mais uniquement le contraire.

bigs32
WRInaute impliqué
WRInaute impliqué
 
Messages: 467
Inscription: Lun Mai 08, 2006 22:48

Message le Lun Juil 16, 2007 23:08

webmasterlamogere a écrit:Il faut aller chercher avant le nom de la catégorie :

Code: Tout sélectionner
$sql_infos = "SELECT cat_name FROM $T_categories WHERE id = '$cat_id' ";
$res_infos = send_sql($sql_infos,"trouver les infos de cette catégorie");
if (($res_infos = mysql_fetch_array($res_infos,MYSQL_ASSOC)) === false) {
  $cat_name = $res_infos['cat_name'];
}


Le htaccess ne transforme pas une URL non rewrité en URL rewrité mais uniquement le contraire.


Merci infiniment .ca marche !!
maintenant j'essaie de voir s'il est possible d'afficher
categorie-souscategorie-page1.html ect..


webmasterlamogere
WRInaute accro
WRInaute accro
 
Messages: 1874
Inscription: Dim Déc 17, 2006 21:08

Message le Mar Juil 17, 2007 9:23

Je me suis inscris dans l'annuaire et il y a un bug d'accès à la base de données avec le lien :
http://www.business.info11.net/partenai ... amogere.fr

bigs32
WRInaute impliqué
WRInaute impliqué
 
Messages: 467
Inscription: Lun Mai 08, 2006 22:48

Message le Mar Juil 17, 2007 10:22

webmasterlamogere a écrit:Je me suis inscris dans l'annuaire et il y a un bug d'accès à la base de données avec le lien :
http://www.business.info11.net/partenai ... amogere.fr

votre annuaire est bien pris en compte et référencé sur le site .
C'est un peu normal vu que vous avez eu la gentillesse de m'aider !!
pour le bug sans gravité , je vais voir ce qui se passe .


Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par Julien Coquet, expert certifié officiellement par Google Analytics.

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