Modification d'une variable

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics

petitpolak
Nouveau WRInaute
 
Messages: 22
Inscription: Dim Juil 24, 2005 10:21

Modification d'une variable

Message le Sam Jan 05, 2008 23:04

Bonjour,

J'aimerai convertir une adresse d'une façon un peu spécial et malgré quelques recherches sur le forum je n'ai pas réussi à trouvé une solution.

Mon adresse est de la forme : www.site.net/index.php?option=com_conte ... Itemid=118

et j'aimerai qu'elle devienne : www.site.net/index.php?option=com_conte ... Itemid=119

En faite il faudrait que quelque soit l'adresse, l'Itemid change et devienne 119.

Je ne sais pas si j'ai bien expliqué auquel cas j'essayerai de réexpliquer.

Merci d'avance.


Dharius
WRInaute passionné
WRInaute passionné
 
Messages: 630
Inscription: Mer Avr 06, 2005 14:04

Message le Sam Jan 05, 2008 23:41

Faut savoir si c'est uniquement pour cette page ou d'autres déjà et savoir avec quoi est programmé ton site.



NxtGen
WRInaute passionné
WRInaute passionné
 
Messages: 730
Inscription: Mar Oct 24, 2006 4:35

Message le Dim Jan 06, 2008 1:20

hummm
dans ta page php, tu mets

Code: Tout sélectionner
<?
if ( $Itemid == 118 ) $Itemid = 119;
?>


(ou $_GET["Itemid"] si Register global est à Off dans php.ini)

FloBaoti
WRInaute passionné
WRInaute passionné
 
Messages: 684
Inscription: Dim Avr 30, 2006 18:42

Message le Dim Jan 06, 2008 10:38

Ca crée un duplicate content du coup...

Faudrait une redirection 301 plutôt que la modification de la variable directement.

petitpolak
Nouveau WRInaute
 
Messages: 22
Inscription: Dim Juil 24, 2005 10:21

Message le Dim Jan 06, 2008 15:13

Oui justement, c'est pour cela que j'aimerai le faire via le htaccess mais je ne sais pas si c'est possible.


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3334
Inscription: Mar Nov 16, 2004 18:27

Message le Dim Jan 06, 2008 16:41

NxtGen a écrit:hummm
dans ta page php, tu mets

Code: Tout sélectionner
<?
if ( $Itemid == 118 ) $Itemid = 119;
?>


(ou $_GET["Itemid"] si Register global est à Off dans php.ini)


prend pour habitude de passer par $_GET ou $_POST car en php 6 cela sera la seule methode pour acceder a ces variables qui sont dans un tableau global.

@petitpolak

humm, je dirais impossible en .htaccess

Mais pas pour PHP

Place ce code dans ton header, il fait la redirection dont tu as besoin.

Code: Tout sélectionner
<?php     $uri = $_SERVER["REQUEST_URI"];
          $rel = strstr($uri,'index.php?option=com_content&task=view');
          if($rel != FALSE) {
          $Itemid = $_GET["Itemid"]; $Itemid++;
          $id = $_GET["id"];
          header("Status: 301 Moved Permanently");
          header("Location: http://www.site.net/index.php?option=com_content&task=view&id=".$id."&Itemid=".$Itemid."");
          } ?>

petitpolak
Nouveau WRInaute
 
Messages: 22
Inscription: Dim Juil 24, 2005 10:21

Message le Dim Jan 06, 2008 17:04

Dommage pour le htaccess j'aurai préféré.

J'ai testé ton code PHP et il marche parfaitement. Je l'ai juste un peu adapté pour qu'il concerne un Itemid spécifique :

Code: Tout sélectionner
<?php
   $uri = $_SERVER["REQUEST_URI"];
   $rel = strstr($uri,'index.php?option=com_content&task=view');
   $Itemid = $_GET["Itemid"];
   if($rel != FALSE && $Itemid == "117") {
      $Itemid = "118";
      $id = $_GET["id"];
      header("Status: 301 Moved Permanently");
      header("Location: index.php?option=com_content&task=view&id=".$id."&Itemid=".$Itemid."");
   }
?>


Merci beaucoup :wink:


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3334
Inscription: Mar Nov 16, 2004 18:27

Message le Dim Jan 06, 2008 18:30

soyons clair, si il s'agit d'une redirection massive, cela n'est pas possible ou alors je ne sais pas comment, mais si c'est juste d'une page a l'autre et tu n'a que 2 ou 3 actions a faire, un redirect devrait suffir :

Code: Tout sélectionner
RedirectPermanent /index.php?option=com_content&task=view&id=121&Itemid=118   http://www.site.ext/index.php?option=com_content&task=view&id=121&Itemid=119

petitpolak
Nouveau WRInaute
 
Messages: 22
Inscription: Dim Juil 24, 2005 10:21

Message le Dim Jan 06, 2008 18:57

Oui je connais la méthode du RedirectPermanent mais il s'agit bien d'une redirection massive. Merci quand même. De toute facon avec le script php j'arrive a faire ce que je veux donc tant que sa marche c'est bon :wink:


Leonick
WRInaute accro
WRInaute accro
 
Messages: 12373
Inscription: Dim Aoû 08, 2004 20:24

Message le Dim Jan 06, 2008 20:10

juste pour transformer 118 en 119 ou pour soustraire 1 à chaque valeur ?

petitpolak
Nouveau WRInaute
 
Messages: 22
Inscription: Dim Juil 24, 2005 10:21

Message le Dim Jan 06, 2008 20:48

Pour transformer 118 en 119 :wink:


Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

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