Aller au contenu

Abalone

Membre
  • Compteur de contenus

    4
  • Inscrit(e) le

  • Dernière visite

Réputation sur la communauté

0 Neutre
  1. Et voilà, le lien vers se post a été déposé sur le site d'Olivier ! http://www.neokraft.net/articles/php-template/ En esperant que ce système pourra se dévellopper. Cordialement, Abalone.
  2. un grand merci Julien ! Tu as su te mettre à la portée de mes lacunes... ca c'est une grande qualité ! Voici le contenu de mon prefetch.php <?php function prefetchURL() { # parse l'url résultante $url = parse_url($_SERVER['QUERY_STRING']); $document = $url['path']; # Nettoyage du tableau $_GET et $_REQUEST $to_clean = array_keys($_GET); unset($_GET[$to_clean[0]]); unset($_REQUEST[$to_clean[0]]); # On repeuple le tableau $_GET et $_REQUEST if (!empty($url['query'])) { parse_str($url['query'],$query); foreach ($query as $k => $v) { $_GET[$k] = $v; if (!isset($_REQUEST[$k])) { $_REQUEST[$k] = $v; } } } return $_SERVER['DOCUMENT_ROOT'].'/'.$document; } $requestedFile = prefetchURL(); ob_start(); if(!file_exists($requestedFile)) { require($_SERVER['DOCUMENT_ROOT']."/404.htm"); } else { require $requestedFile; } $file = ob_get_contents(); ob_end_clean(); if (preg_match('|<title>(.*?)</title>.*<body>(.*?)'.'</body>|ms', $file, $matches)) { $titre_page=$matches[1]; $contenu_page=$matches[2]; require dirname(__FILE__).'/model.php'; } ?> Je n'ai pas heu besoin de modifier "function prefetchURL()", apparement ca tourne nickel. Parcontre je pense tu as voulu dire $file et non $contenu, j'ai donc corrigé. Comme il s'agit de fichier htm, j'ai remplacé 404.php par 404.htm. J'ai aussi corrigé le path de l'emplacement de model.php. L'erreur 404 fonctionne impécable dans mon modele ! Si toutfois tu vois une erreur de ma part, n'hésite pas de me le signaler. Encore bravo pour cette modif de ce très bon script. D'autre part, penses-tu que l'utilisation de ce systeme pourrait créer une faille et permettre des risques d'intrusions de personnes malveillantes ? Je ne sais pas ce que tu en penses, mais ca serait sympa de poster ta modif sur neokraft.net, dans l'article qui traite de ce script, pour ceux qui ne connaissent pas webmaster-hub.com Abalone
  3. Merci Julien pour ta réponse. Par contre, je suis sur ton reply depuis que tu as répondu, mais j'ai tourjours rien capter En fait il me manque pas mal de notion php pour percuter avec si peu de détails. Si je comprend bien tu as renomé prefetch.php en handler.php, non ? Ensuite selon ce que j'ai compris, j'ai voulu essayer juste le teste d'existance fichier et je m'y suis pris comme ceci que j'ai modifié du prefetch.php : $requestedFile = prefetchURL(); ob_start(); if(!file_exists($requestedFile)) { require($_SERVER['DOCUMENT_ROOT']."/404.php"); } else { require prefetchURL(); } évidement l'erreur : Fatal error: Call to undefined function: prefetchurl() in /home/vbullet/public_html/edition/include/prefetch.php on line 44 J'ai dù m'arracher le peu de cheuveux qu'il me reste à comprendre, mais en vain. Tu pourrais m'éclairer un peu plus s'il te plait ? Merci.
  4. Bonjour à tous, je suis un ch'ti nouveau de Webmaster hub... grace à ce post et à Google qui l'a trouvé ! C'est donc du script "Modèle de page avec Apache et PHP" dont il s'agit. J'ai reussi à le faire fonctionner pour des pages htm, rien à redire, ca fonctionne pas trop mal ! Faut dire que ce systeme est assés génial. Voilà ma question. Je ne sais pas si julien à reussi à afficher sa page 404.php pour le fichier toto.php, mais un autre probleme subsiste pour moi. Si par exemple un internaute entre un url faucé en .htm, je me retrouve avec un message d'erreur comme celui-ci Warning: main(/home/xxx/public_html//innexistant.htm): failed to open stream: No such file or directory in /home/xxx/public_html/include/prefetch.php on line 32 Warning: main(/home/xxx/public_html//innexistant.htm): failed to open stream: No such file or directory in /home/xxx/public_html/include/prefetch.php on line 32 Fatal error: main(): Failed opening required '/home/xxx/public_html//innexistant.htm' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/xxx/public_html/include/prefetch.php on line 32 J'ai évidement essayé la directive ErrorDocument dans mon .htaccess, mais rien à faire pour avoir la page 404.htm. Comme le disait Julien, l'Handler réagit avant cette directive. J'ai bien pensé mettre une fonction de vérification d'existance de fichier, mais vu mon niveau en php, je ne vois pas où et comme réaliser celà. Mon fichier prefetch.php est : <?php function prefetchURL() { # parse l'url résultante $url = parse_url($_SERVER['QUERY_STRING']); $document = $url['path']; # Nettoyage du tableau $_GET et $_REQUEST $to_clean = array_keys($_GET); unset($_GET[$to_clean[0]]); unset($_REQUEST[$to_clean[0]]); # On repeuple le tableau $_GET et $_REQUEST if (!empty($url['query'])) { parse_str($url['query'],$query); foreach ($query as $k => $v) { $_GET[$k] = $v; if (!isset($_REQUEST[$k])) { $_REQUEST[$k] = $v; } } } return $_SERVER['DOCUMENT_ROOT'].'/'.$document; } ob_start(); require prefetchURL(); $file = ob_get_contents(); ob_end_clean(); if (preg_match('|<title>(.*?)</title>.*<body>(.*?)'. '</body>|ms',$file,$matches)) { $titre_page = $matches[1]; $contenu_page = $matches[2]; require dirname(__FILE__).'/model.php'; } exit; ?> Et mon .htaccess : AddHandler prefetch .htm Action prefetch /include/prefetch.php? ErrorDocument 404 /404.htm Ma seconde question, je souhaiterai mettre l'ensemble des fichiers .htm dans un autre répertoire, mais ca ne fonctionne pas. Sur le site neokraft au sujet de ce code, kffir disait, je cite : < ./. il y a aussi le méthode des "alias" a insérer dans le fichier httpd.conf.> Le problème pour moi, c'est que je ne pense pas que mon hébergeur me donne acces à ce fichier, d'ailleur, je ne sais pas ou je pourrais le trouver. Y aurrait il donc une autre solution ? Voilà ! En tout un grand merci à Dan pour ce board ! Cordialement.
×
×
  • Créer...