Récup de paramètres GET en URL rewriting chez OVH [résolu]

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

T509
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 16
Inscription: 27 Fév 2004

Récup de paramètres GET en URL rewriting chez OVH [résolu]

Message le Ven Fév 27, 2004 16:02

Bonjour

Je suis hébergé chez OVH avec un compte GP60

Je souhaite pouvoir écrire mes URL de la façon suivante :

www.dar-leila.com/essai/dar/param1/param2/index.html

Pour cela j'utilise une règle de ré-écriture dans un fichier .htaccess comme ceci :

Code: Tout sélectionner
RewriteEngine on
RewriteRule ^(.*)dar/(.*)/index.html$ /$1/dar.php?param=$2 [L]


Donc en théorie l'URL ci-dessus doit me rediriger vers
www.dar-leila.com/essai/dar.php?param=param1/param2

Dans ce cas, pour récupérer la valeur de param, j'utilise en toute logique $_GET['param']

Mon problème est le suivant : la redirection fonctionne mais $_GET['param'] reste non affecté (testé avec isset())

Il doit y avoir une erreur mais je n'arrive pas du tout à la localiser. Pourriez vous m'aider. Merci

-----------------------------------------------------------------------
Solution :
C'est la règle qui n'est pas bonne mais je ne sais pas expliquer pourquoi.
j'utilise maintenant :
Code: Tout sélectionner
^dar/([a-z]+)/([a-z]+)\/index\.html$ /essai/dar.php?param=$1-$2 [L]


et cela fonctionne

Merci pour votre aide à tous
Dernière édition par T509 le Mer Mar 10, 2004 8:01, édité 1 fois.


ludoanimation
WRInaute impliqué
WRInaute impliqué
 
Messages: 770
Inscription: 25 Juil 2003

Message le Lun Mar 01, 2004 16:07

Salut,

je suis sur le meme plan que toi , et chez moi le test de variable par iset marche , moi ma valeur s'appelle url mais c'est idem.

Code: Tout sélectionner
if(isset($_GET["url"])) {$url = $_GET["url"];}

T509
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 16
Inscription: 27 Fév 2004

Message le Lun Mar 01, 2004 20:57

Salut

Je te remercie pour ton information.

Toutefois, je n'y arrive pas mieux, mon paramètre $_GET reste vide
Pourrais tu me donner tes règles de ré-écriture ? Où est placé ton .htaccess ? Quel est son chmod ?

Ou alors, pourrais tu me dire ce qui cloche dans les fichiers suivants :

.htaccess :
Code: Tout sélectionner
RewriteEngine on
RewriteRule ^(.*)/dar/(.*)/index.html$ /$1/dar.php?param=$2 [L]


Fichier PHP :
Code: Tout sélectionner
<?php
echo "entree sur la page à ".strftime("%H:%M:%S")."<br>";
if (isset($_GET['param'])){
    echo "_GET est affectée<br>";
    echo "parametres GET : ".$_GET['param']."<br>";
   }
else {
    echo "_GET est vide<br>";
}
echo "REQUEST_URI : ".$_SERVER['REQUEST_URI']."<br><br><br>";
phpinfo();
?>


Merci !!! :!:


ludoanimation
WRInaute impliqué
WRInaute impliqué
 
Messages: 770
Inscription: 25 Juil 2003

Message le Lun Mar 01, 2004 21:57

Bon, j'suis pas un pro de chez pro,

dans l'htaccess, j'ai :

Code: Tout sélectionner
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^(.+)-(.+)\.html$ /index.php?url=$1-$2 [L]


ce qui veut dire que mes liens sont de la forme /motcle1-motcle2.html et ca me le converti en /index.php?url=motcle1-motcle2 .

ensuite dans mon php je te l'ai indiqué + haut.

Je pense que c'est ta regle de réécriture qui n'est pas bonne (mais la demande la bonne regle aux spécialistes, ce qui n'est pas mon cas).

nikoshr
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 320
Inscription: 10 Juil 2003

Message le Lun Mar 01, 2004 22:09

La règle a l'air bonne, sinon il y aurait un échec sur la réécriture en dar.php. Reste le PHP mais il semble correct lui aussi. Etrange. Essaie un
Code: Tout sélectionner
RewriteEngine on
RewriteRule ^(.*)/dar/(.*)/index.html$ /$1/dar.php?param=$2 [R=301,L]
pour voir ce qu'il raconte lorsque l'UR fait une redirection externe. Ca donnera peut-être des idées.

T509
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 16
Inscription: 27 Fév 2004

Message le Lun Mar 01, 2004 22:54

Bon effectivement c'est ma règle qui foire.

Maintenant, j'ai ceci :

Code: Tout sélectionner
RewriteEngine on
RewriteRule ^(.*)\/index.html$ /essai/dar.php?param=$1 [L]


Par contre j'ai :

Code: Tout sélectionner
$_GET['param'] = dar.php/tyototutu/hgjkfk/yoyo/tutu


Comment se fait il que tout ce qui est passé à la variable param commence par "dar.php/" ???

Je crois que je n'y comprends pas grand chose ...

T509
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 16
Inscription: 27 Fév 2004

Solution définitive

Message le Mer Mar 10, 2004 8:06

J'ai solutionné mon PB grace aux bouquins O'Reilly sur Apache.
La solution est dans mon 1er Post

A+
Merci :wink:


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

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 :

Consultez la description détaillée des produits ou services de Google suivants : Google goo.gl

  • Liste des backlinks
    Cet outil vous permet d'analyser en détails la "popularité" de votre site sur Google. En plus du nombre de liens pris en compte par Google, il calcule le pourcentage de liens internes parmi tous les liens, et il affiche les premières URL trouvées.
  • Transformer des textes non cliquables en liens
    Cet outil vous permet de trouver des pages citant votre site mais ne faisant pas (encore) de lien. Il suffira parfois d'un simple mail pour transformer cette simple citation en lien (backlink).


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité