Url rewriting pseudo frames : RESOLU

  • Auteur de la discussion Auteur de la discussion m1b
  • Date de début Date de début
Nouveau WRInaute
Bonjour,

Avant de poster j'ai consulté votre documentation sur l'url rewriting et j'ai vu que d'autres topics avaient étés crée concernant ce sujet.
Cependant je me demande si je n'ai pas déjà commis une erreur à la base.

1) J'ai fais un site avec des pseudo frames ce qui me donne à chaque fois comme genre de lien :
Code:
http://www.monsite.com/index.php?numlien=1
Ensuite numlien=1 va être contrôlé dans une page pour savoir vers quelle page ce lien doit pointer ( genre 1 = toto.php ) .

Déjà là une question : est-ce que c'est juste d'écrire le lien en dur dans la page "http://www.monsite.com/index.php?numlien=1" est ce que ensuite c'est rewritable ce chemin ?

2) Ensuite j'ai vérifié que mon hébergeur support l'url rewriting (php info ok ), j'ai fait le test avec le tutorial et cela fonctionne. Par contre après X combinaisons dans ce fichier .htaccess rien à faire il rewrite rien du tout.

Code:
RewriteEngine on
RewriteRule ^([0-9]+)-([0-9]+)\.html$  index.php?numlien=$1  [L]

Merci de m'indiquer ce que vous en pensez peut-être que je suis complètement à coté le la plaque sur ce coup.
 
WRInaute passionné
Cette règle doit fonctionner. Elle autorise des urls avec deux numériques séparés par un - et avec une extension .html comme par exemple 12334-5678.html
Si c'est pas le format d'url que tu souhaites indique le.
 
Nouveau WRInaute
merci pour ta réponse j'ai testé avec ceci mais cela ne fonctionne toujours pas, j'ai testé un tas de combinaisons c'est vraiment étrange je trouve.

Code:
RewriteEngine on
RewriteRule ^([0-9]+)\.html$  index.php?numlien=$1  [L]
 
WRInaute passionné
la réécriture permet de modifier l'url sans changer la page qui est appelée par le serveur : le contenu est donc normalement strictement identique entre -http://www.monsite.com/index.php?numlien=1 et -http://www.monsite.com/1.html
 
Nouveau WRInaute
merci pour ton aide et pour ta patience, j'ai avancé d'un pas

à présent exemple :
www.monsite.com/index.php?numlien2
et
www.monsite.com/entreprise.html

affichent la même chose.

Cependant je suis confronté à un problème de résonnement je pense.
Car est-ce que quand l'internaute navigue et qu'il fait www.monsite.com/index.php?numlien2 est-ce que c'est bon ( est-ce qu'en arrière plan ça exécute www.monsite.com/entreprise.html ? Je pense pas.

Pourquoi je pose cette question, c'est que l'internaute est obligé de cliquer sur un lien du style : www.monsite.com/index.php?numlien2 mais ensuite je dois vérifier si la page existe et faire un switch case comme ceci :

Code:
<?php
$numlien = @$_GET["numlien"];

switch ($numlien) 

    { 
    case "entreprise" : 
    $page = "entreprise.php";
 	break;

Et dans le switch case je peux pas mettre "entreprise.html" car cette page n'existe pas concrètement.
Je sais je pense bien que c'est pas facile pour vous de comprendre cela.

Donc en gros actuellement quand l'internaute clique sur le lien il arrive sur la bonne page mais avec l'url http://www.monsite.com/index.php?numlien=entreprise au lieu d'aller sur http://www.monsite.com/entreprise.html

merci
 
WRInaute passionné
il bien sur modifier les liens de toutes tes pages pour mettre la version réécrite

L'idéal ensuite est de mettre en place une redirection 301. tu peux voir là pour une solution : -http://www.urlrewriting.fr/article-08,07,17,Eti@-Redirection-9.html
 
Nouveau WRInaute
Pour m'assurer que j'ai bien compris,

Code:
il bien sur modifier les liens de toutes tes pages pour mettre la version réécrite

Donc dans mes fichiers php je mets les liens en dur dedans www.monsite.com/entreprise.html ( lien pseudo frame vers un fichier qui n'existe pas )

ou alors

Dans mes fichiers php je laisse www.monsite.com/index.php?numlien2 mais dans le fichier des includes je devrais mettre "entreprise.html" le nom virtuel de l'url rewriting.

Code:
<?php
$numlien = @$_GET["numlien"];

switch ($numlien)

    {
    case "2" :
    $page = "entreprise.html";
    break;
 
WRInaute passionné
il faut que dans la page html générée il n'y ai pas de lien sous la forme -www.monsite.com/index.php?numlien2
Pour vérifier tu affiches la source de la page dans ton navigateur préféré.
 
Discussions similaires
Haut