Url rewriting en .html pour Phpdeal, merci.

  • Auteur de la discussion Auteur de la discussion Sébasti1
  • Date de début Date de début
WRInaute discret
Bonjour à tous, j'a installé Phpdeal sur mon site et j'aimerais l'url rewrité en .html car ce sont des adresse dynamiques, problème j'ai aucune idée de comment faire, si quelqu'un serait m'aider, j'ai écris à Phpdeal mais ils répondent pas (apparement il n'y à plus ames qui vivent la bas), merci de votre futur aide ;)

edit: voici un example d'url :http://www.sebaenligne.monforum.net/in_article.php?id_article=9&id_rubrique=10&rubrique=Cameras%20&%20Photo

donc j'aimerais que ca prenne par exemple le nom de la catégorie et le titre de la vente, pour l'exemple cité ça donnerai :http://www.sebaenligne.monforum.net/Cameras-&-Photo/camescope-trv-140-cassette-hi-8-sortie-dv-et-usb.html
 
WRInaute passionné
Je suis pas sur que bc de wrinautes utilisent phpdeal.
Si tu as la chance d'avoir dans phpdeal une fonction centralisée qui affiche tes liens il faudrat :
- réecrire cette fonction
- mettre en place un .htaccess avec les règles de réecriture.

Si une telle fonction n'existe pas, il faudrat que tu fasse le tout de tout ton code php pour que les nouveaux liens correspondent aux règles de réecriture que tu veux mettre en place.

J'peux pas faire mieux comme aide, désolé !
 
WRInaute discret
Voila j'en suis arrivé jusqu'au test de ce tutoriel mais après je ne comprend plus rien de chez plus rien quand il s'agit id_article et de l'id_rubrique, une petite aide please car à cause de ça google n'a plus visité ma page d'accueil depuis le 16 mai snif... :(
 
WRInaute occasionnel
Sébasti1 a dit:
spidetra a dit:
Si tu as la chance d'avoir dans phpdeal une fonction centralisée

Je ne comprends pas ... ( je suis un gros gros newbies en php, url-rewriting, ect...)
C'est a dire une fonction PHP qui te génère les lien HTML. Ce qui te permet, dans le cas de la mise en place d'un rewrite, de n'avoir qu'une fonction à modifier et qui te modifira tout les liens de ton site.

Exemple bidon avant mise en place du rewrite:
Code:
<?php
function create_link($texte, $page)
{
  echo('<a href="' . $page . '">' . $texte . '</a>');
}
?>
Et après
Code:
<?php
function create_link($texte, $page)
{
  if($page == 'truc.php')
    $newpage = 'machin.html';
  else
    $newpage = $page;

  echo('<a href="' . $newpage . '">' . $texte . '</a>');
}
?>
Je shematise, mais si Phpdeal est bien conçu, tu dois avoir une fonction de ce type.
 
WRInaute discret
Je sais que je suis lourd mais ça serait pas la dedans quelque part ?

Code:
function Inventaire($id_rubrique,$mysql_link) {
$nombre = 0;
$query = "SELECT id_article FROM deal_articles WHERE id_rubrique='$id_rubrique' AND en_ligne='Y'";
$mysql_result = mysql_query($query,$mysql_link);
$rows = mysql_num_rows($mysql_result);
$nombre += $rows;
$query = "SELECT id_rubrique FROM deal_rubriques WHERE parent='$id_rubrique'";
$mysql_result = mysql_query($query,$mysql_link);
while($row = mysql_fetch_array($mysql_result))
      {
      $id_rubrique = $row[0];
      $nombre += Inventaire($id_rubrique,$mysql_link);
      }
return($nombre);
}

function Navigation($parent,$mysql_link) {
require("data/vars.inc.php");
if($parent!="0") {
$navig = "";
$query = "SELECT nom FROM deal_rubriques WHERE id_rubrique='$parent'";
$mysql_result = mysql_query($query,$mysql_link);
while($row = mysql_fetch_array($mysql_result))
       {
       $id_parent=$parent;
       do {
          $query = "SELECT nom,parent FROM deal_rubriques WHERE id_rubrique='$id_parent'";
          $mysql_result = mysql_query($query,$mysql_link);
          while($row = mysql_fetch_array($mysql_result))
                 {
                 $nom_parent=$row[0];
                 $navig=" > <a href=\"achat_rubrique.php?parent=$id_parent\"><font color=\"$textcolor\">$nom_parent</font></a>".$navig;
                 $id_parent=$row[1];
                 }
          }
       while($id_parent!="0");


Ou ça ?

Code:
<?
require("data/tools.inc.php");
$nav=Navigation($parent,$mysql_link);
require("data/header.inc.php");
require("data/options.inc.php");
?>
<?
if($howrub=="column") {
if($parent=="0") {
?>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="235" valign="top">
	
	<table width="100%" border="0" cellspacing="0" cellpadding="0">
  		<tr>
    		<td bgcolor="<? echo "$bg1color" ?>">&nbsp;<b>R</b>ubriques</td>
		</tr>
	</table>
	<table width="100%" border="0" cellspacing="0" cellpadding="0">
  		<tr>
    		<td valign="top">
      		<table width="100%" border="0" cellspacing="0" cellpadding="3">
        <?
        $balise=0;
        $query = "SELECT nom,id_rubrique FROM deal_rubriques WHERE parent='$parent'";
        $mysql_result = mysql_query($query,$mysql_link);
        while($row = mysql_fetch_array($mysql_result))
               {
               $nom=$row[0];
               $rubrique=$row[1];
               $inventaire=Inventaire($rubrique,$mysql_link);
               $line=$balise/2;
               $isset_rubrique="y";
               if(is_integer($line))
                 {
                 echo "<tr
 
WRInaute occasionnel
Non malheureusement et à voir ce bout de code
Code:
<a href=\"achat_rubrique.php?parent=$id_parent\"><font color=\"$textcolor\">$nom_parent</font></a>
Pris dans ton exemple, je dirais que c'est mal barré :?
Car tu vas devoir te tapper tous les lien à la main. Si tu veux le tenté quand même, je te conseil de te faire avant une de ses fonction pour gérer tes liens pour que tu puisse gagner du temps par la suite.
 
WRInaute occasionnel
Dur à dire sans connaitre le portail ... en plus comme ça demande pas mal de boulot de modifier tout les lien mieux vaux (??? veaux ??? arf :? ) partir juste dés le debut sous peine de tout recommencer.

Je suis un peu à la bourre maintenant, j'essaye de te repondre plus clairement demain.
 
WRInaute discret
Et si je mets ça dans mon .htaccess:

Code:
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^index\.html$  /achat_rubrique.php?parent=0 [L]
RewriteRule ^vehicules\.html$  /achat_rubrique.php?parent=2 [L]
RewriteRule ^beaute-parfums\.html$  /achat_rubrique.php?parent=3 [L]
RewriteRule ^produit-bebe\.html$  /achat_rubrique.php?parent=4 [L]
RewriteRule ^gastronomie-vin\.html$  /achat_rubrique.php?parent=5 [L]
RewriteRule ^tv-audio-video\.html$  /achat_rubrique.php?parent=6 [L]
RewriteRule ^tickets-place-voyages\.html$  /achat_rubrique.php?parent=7 [L]
RewriteRule ^telephonie-accessoires\.html$  /achat_rubrique.php?parent=8 [L]
RewriteRule ^sports\.html$  /achat_rubrique.php?parent=9 [L]
RewriteRule ^cameras-photo\.html$  /achat_rubrique.php?parent=10 [L]
RewriteRule ^musique-instruments\.html$  /achat_rubrique.php?parent=11 [L]
RewriteRule ^mode-accessoires\.html$  /achat_rubrique.php?parent=12 [L]
RewriteRule ^maison-jardin\.html$  /achat_rubrique.php?parent=13 [L]
RewriteRule ^loisirs\.html$  /achat_rubrique.php?parent=14 [L]
RewriteRule ^livres-bd-journaux\.html$  /achat_rubrique.php?parent=15 [L]
RewriteRule ^jeux-informatique\.html$  /achat_rubrique.php?parent=16 [L]
RewriteRule ^jouets-modelisme\.html$  /achat_rubrique.php?parent=17 [L]
RewriteRule ^pda\.html$  /achat_rubrique.php?parent=18 [L]
RewriteRule ^industrie-commerce-services\.html$  /achat_rubrique.php?parent=19 [L]
RewriteRule ^dvd\.html$  /achat_rubrique.php?parent=20 [L]
RewriteRule ^objets-de-collections\.html$  /achat_rubrique.php?parent=21 [L]
RewriteRule ^bijoux-montres-stylos\.html$  /achat_rubrique.php?parent=22 [L]
RewriteRule ^cartes-postals-timbres\.html$  /achat_rubrique.php?parent=23 [L]
RewriteRule ^divers\.html$  /achat_rubrique.php?parent=24 [L]

et que j'interdise à google les vrai pages ça irait ou pas ? :)
 
WRInaute occasionnel
Salut

Pour le post si dessus, la sytaxe semble correct, mais tu vas te fair chier pour le maintenir à jour :?

Perso, j'obterais pour une règle style :
Code:
RewriteRule ^.*-([0-9]+)\.html$  /achat_rubrique.php?parent=$1 [L]
Avec des liens : vehicules-2.html
Comme ça, un c'est simple à mettre en place, car tu garde le "parent" dans l'URL et avec cette règle tu vire toute c'elle que tu avais marqué avant.

Pour en revenir à la question précedente. Je vois ça en 3 étapes.

Etape 1(la plus chiante) : Modifier tout le code pour passer par une fonction pour générer les lien.

1 - Trouvé un fichier qui comporte déjà des fonctions quelquonque (solution de facilité) pour incruster ta fonction perso pour gérer tes lien.
2 - Dans ce fichier tu crées une fonction de base
Code:
function href_link($page = '', $parameters = '', $connection = 'NONSSL')
{
	if ($connection == 'NONSSL') {
		$link = 'http://www.example.com/';
	} elseif ($connection == 'SSL') {
		$link = 'https://www.example.com/';
	}

	if ($parameters != '') {
		$link .= $page . '?' . $parameters;
	} else {
		$link .= $page;
	}

	return $link;
}
PS: Fonction basique, basé sur c'elle que j'utilise, mais j'ai pas testé.

3 - Tu modifies tout les liens dans tout les fichier du portail
Code:
<a href=\"achat_rubrique.php?parent=$id_parent\"><font color=\"$textcolor\">$nom_parent</font></a>
deviens
Code:
<a href=\"" . href_link('achat_rubrique.php', 'parent=' . $id_parent) . "\"><font color=\"$textcolor\">$nom_parent</font></a>
Une fois que tu as tout modifier, là sa devien plus facile de faire ton rewrite et surtout de le modifier.
Si tu ne t'es pas planté, arrivé a se stade, ton site devrais marche comme avant, sauf que les URL ne sont rewrité.
PS: Ca vaux aussi pour les formulaires, mais c'est dés fois plus chiant.

Etape 2 - Modifier la fonction pour créer les lien rewrité.
Exemple : Si la page c'est "achat_rubrique.php" et bien je cherche le nom de la rubrique dans ma Base de donnée, je convertie se nom pour virer tout les carractère qui ne sont pas jolie dans une URL (ö é ä à è ü ç etc...) je crès le nouveau lien avec ce nom, etc... pour fair les URL que tu veux.

Etape 3 - Le .htaccess, où tu mets tes règles selon ce que tu as besoin et/ou déssidé.

Voila, c'est en gros ... qui a dit très gros :D ... si tu as des questions.
 
WRInaute discret
Bon je crois que je vais laisser tomber, j'ai l'impression qu'ont me parle en une autre langue lol, un grand merci quand même d'avoir éssayé de m'aider ;) merci
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut