Rewriting marche à moitié!!

WRInaute occasionnel
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:
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
 
WRInaute passionné
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:
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]
 
WRInaute occasionnel
keroin a dit:
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:
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:
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
 
WRInaute passionné
Il faut remplacer par exemple :
Code:
<a href=\"index.php?cat_id=$cat_id&page=$i\">

par :

Code:
<a href=\"" . id_to_url ($cat_id,$cat_name,$i) . "\">
 
WRInaute occasionnel
webmasterlamogere a dit:
Il faut remplacer par exemple :
Code:
<a href="index.php?cat_id=$cat_id&page=$i">

par :

Code:
<a href="" . id_to_url ($cat_id,$cat_name,$i) . "">
j'ai testé en local et j'ai cette erreur

Code:
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 .
 
WRInaute passionné
Il faut aller chercher avant le nom de la catégorie :

Code:
$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.
 
WRInaute occasionnel
webmasterlamogere a dit:
Il faut aller chercher avant le nom de la catégorie :

Code:
$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..
 
Discussions similaires
Haut