Petit soucis avec de l'url rewrite

guisx00 Messages postés 104 Date d'inscription dimanche 23 juillet 2006 Statut Membre Dernière intervention 15 août 2009 - 15 août 2009 à 17:47
Tonio_35 Messages postés 567 Date d'inscription mercredi 4 octobre 2006 Statut Membre Dernière intervention 30 août 2011 - 21 août 2009 à 16:21
Bon jour à tous,

Voila j'ai un petit soucis qui est vraiment bizard avec mon site je m'explique
J'ai un site avec un milieu qui change selon les pages que j'appel et url rewrite passe derrière

Dans mon index.php à la racine du site j'ai se texte dans la partie qui sera active


$p=strtolower($_GET['p']);//replace en minuscules
if(isset($p) && preg_match("/^[a-z0-9]+$/i",$p)){ //pour eviter les failles durl
if(file_exists("pages/$p.html")) {//on verif si le fichier existe
include "pages/$p.html";
} else { 
include "pages/405.html";
 }
} else {
include "pages/404.html";
}


l'inculde page 405 c'est juste pour savoir ou il bloque
Biensur j'ai mon .htaccess qui se trouve lui aussi à la racine et contient ceci


Options +FollowSymlinks 
RewriteEngine on
RewriteRule ^(.*)\.html$ index.php?p=$1 [L]


Dans mon dossier pages j'ai donc pleins de trucs pour les test
Genre index.html / news.html / 404 et 405.html etc

Quand je fait index.html et news.html no soucis tout marche j'ai le texte de ses pages dans ma partie active

Maintenant quand je refait la même chose sauf que à la place de html partout je met .php sauf la page index.html bien sur ba sa marche plus il me sort à chaque coup l'erreur 405

Si quelqu'un voit pourquoi sa me fait sa je suis preneur ou peu m'envoye vers des pistes je suis à l'ecoute :)

Bonne journée

1 réponse

Tonio_35 Messages postés 567 Date d'inscription mercredi 4 octobre 2006 Statut Membre Dernière intervention 30 août 2011 11
21 août 2009 à 16:21
Bonjour,

Si j'ai bien compris, tu as sur ton serveur :

root/index.php
root/news.php
root/404.php
root/405.php

Tu veux que dans la barre d'adresse les .php soient remplacé par des .html...

C'est ca ?

Si c'est le cas, l'url rewrite ne sert pas à php, dans le code tu dois utiliser les vrais nom de fichiers :

<?php
if(file_exists("pages/$p.php")) {//on verif si le fichier existe

include "pages/$p.php";

} else { 

include "pages/405.php";

 }

} else {

include "pages/404.php";

}
?>


Es bien cela ta question, je n'en suis pas sur...


Bon week end !

Tonio
0
Rejoignez-nous