Problème avec un fichier .htaccess

Résolu
Bonjour,
j'ai tenter d'améliorer mon site en abandonnant une vieille technique pour inclure qui nécessite un array. Afin d'automatiser la tâche et permettre d'utiliser l'extension .php, j'ai recrée la fonction d'include avec la fonction is_file. Le problème vient sans doute du fichier .htaccess qui me renvois sans cesse "index" comme valeur get
Chaque fichier à inclure se trouve dans un dossier nommer tout bêtement "page"

Source :

.htaccess

# index.php page
RewriteRule ^([a-z]+)\.php$ index.php?page=$1 [L]

index.php (uniquement le code utile)
<?php if(isset($_GET['page']))
{
if(is_file('page/' . $_GET['page'] . '.php'))
{
include('page/' . $_GET['page'] . '.php');
}
}
else
include("page/accueil.php");
?>

(Ps : Le else marche même plus, en plus)
Configuration: Windows XP
Firefox 3.0.10

5 réponses

  1. et comme ça:

    <?php 
    if(isset($_GET['page'])){
    	if(is_file("page/".$_GET['page']".php")){
    		include("page/".$_GET['page'].".php");
    	}
    }else{
    	include("page/accueil.php");
    }
    ?> 
    1
    1. Ceci ne change absolument rien $_GET['page'] vaut toujours "index" qu'importe ce que je face.
      0
      1. Up,
        L'erreur continue de persister sans que je ne puisse trouver, voici donc une autre information. Pour le moment je peux faire marcher le else en modifiant quelque peu le fichier .htaccess
        L'url se présente de la sorte : http://localhost/suz2/

        Edit : J'ai trouvé le problème sans savoir comment le résoudre, $_GET['page'] devient index car j'ouvre chaque page depuis celle-ci.
        RewriteRule ^([a-z]+)\.php$ index.php?page=$1 [L]
        Voici où il la trouve. J'aimerais donc savoir, comment récupérer avec un RewriteRule la bonne partie de la page (Donc dans l'url http://localhost/suz2/plan.php, il doit récupérer plan en évitant qu'il confonde avec la vrai url qui n'est autre que http://localhost/suz2/index.php?page=plan)
        Pour ceux qui n'aurait pas tout compris, il faudrait que la méthode RewriteRule lise l'url bêtement sans se soucier de la véritable url
        0
        1. Problème résolu, en faire, il récupérait l'adresse réelle du site et non pas le détournement. Voici la source du bon résultat tester en localhost.

          .htaccess
          RewriteRule ^([a-z]+)\.php$ index.php [L]

          <?php preg_match('#/suz2/([a-z]+).php#', $_SERVER['REQUEST_URI'], $page); ?>
          (...)
          <?php if(isset($page[1]) AND $page[1] != NULL)
          {
          if(is_file('page/' . $page[1] . '.php'))
          include('page/' . $page[1] . '.php');

          else
          include('page/accueil.php');
          }
          else
          include('page/accueil.php');
          ?>
          0

          Discussions similaires

          question pix mot caché

          7 réponses