url rewriting marche avec pages html mais pas php

  • Auteur de la discussion Auteur de la discussion ce_l
  • Date de début Date de début
Nouveau WRInaute
bonjour,
J'ai une homepage index.php dans laquelle je fais des include de mes autres pages (html et php) grâce a ce script:
Code:
<?php

  $pageOK = array('home' => 'home.html', 
                  'page1' => 'page1.html',
				  'page2' => 'page2.php',);

    if ( (isset($_GET['page'])) && (isset($pageOK[$_GET['page']])) ) {
    include($pageOK[$_GET['page']]);   
  } else {
    include('home.html');   
  }

?>

mon fichier .htaccess contient la ligne de code suivante:
Code:
RewriteRule ^([-a-z0-9]+).html$ /index.php?page=$1 [L]

Tout ca fonctionne parfaitement pour la page1 mais la page 2 se charge à l'extérieur de l'include.
Pouvez-vous me dire mon erreur?
 
WRInaute discret
Edit : désolé je t'avais donné une première réponse, un peu rapide...

Ce que tu souhaites c'est utiler l'url page2.html qui chargerait ton script page2.php, c'est ça ? qu'entends-tu par charger à l'extérieur de l'include ? A priori si le script page2.php est exécuté, c'est que le problème se trouve dans le code de ce script et non dans le code que tu nous as donné.
 
Nouveau WRInaute
je souhaite remplacer ma page /index.php?page=page2 par /page2.php comme ca le fait déjà pour la page 1 (/index.php?page=page1 = /page1.html). Dans mon cas la page2.php s'affiche mais tout seul et non en tant qu'include de index.php
 
WRInaute discret
ok, je pense comprendre. Donc c'est ce que j'évoquais dans mon précédent message, pour l'instant pour accéder à ta page avec le bon include il faut que tu utilises sur toutes les pages de ton site l'url /page2.html. Si tu veux utiliser l'url /page2.php sur les pages de ton site il faut que tu écrives une nouvelle règle de rewriting. Par exemple :

Code:
RewriteRule ^(page[0-9]).php$ /index.php?page=$1 [L]
 
Nouveau WRInaute
bonjour,
j'avais déjà essayé, cela ne fonctionne pas, mes page .php s'affiche toujours en dehors de l'include d'index.php
 
Discussions similaires
Haut