Version complète: sur le forum Webmaster Hub : Gros problèmes avec pseudos-frames
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
pickupjojo
Bonjour à tous,

Voilà, je fais la V4 de mon site car là, non seulement il n'est pas du tout optimisé pour le référencement, mais il a été fait en WYSIWYG et ça se voit très bien dans le code source... y'a rien de valide pour le W3C, même pas en HTML 4.01 Transitional. C'est donc pour ça que je fais une mise à jour complète : mise en page, vraies pseudos-frames, valide HTML 4.01 Transitional et CSS ainsi que URL rewriting. En clair, j'ai du boulot, et je suis loin d'avoir fini ! wink.gif

Mon problème est donc que je fais des pseudos frames genre "index.php?page=prout". La page "prout" est un fichier .php à la racine du site. Ne souhaitant pas modifier toutes les URL internes sur chacunes des pages du site, je préfère garder l'extension actuelle en .php3. Il m'a donc fallu mettre en place un URL rewriting qui dit que quand on demande "prout.php3", ça affiche en fait la page "index.php?page=prout", tout cela biensûr sans que le visiteur ne voit quoi que ce soit. whistling.gif

Le hic là-dedans, c'est que "index.php3", sur l'actuelle version du site, est très utilisée par les visiteurs alors que je ne sais même pas pourquoi (un coup de Google certainement). Malheureusement, sur la v4, lorsque l'on demande l'index en PHP3, le fichier .htaccess ouvre donc "index.php?page=index".... Ce qui fait une boucle et affiche le site (en partie), dans le site ! wacko.gif

J'ai alors pensé à plutôt utiliser "index.php3" pour le moteur des pseudos frames... mais quand on réfléchit, on se rend compte que ça reviendrai au même ! sad.gif Je n'ai donc aucune solution, même quand je fais un index en .php3 sur le site, le .htaccess n'en prend pas compte.

Merci d'avance pour votre aide, et à ceux qui m'ont lu ! blush.gif
Joffrey, complètement paumé dans le PHP ! biggrin.gif


PS: l'index du site demande à afficher "accueil.php". L'index pour les visiteurs devrait donc être "accueil.php3"... unsure.gif
azeitona
tu peux nous balance ton .htaccess ?
Dan
Salut pickupjojo,

C'est parce que tu as fait une règle qui traite tous les fichiers en .php3 ... et que index.php3 entre donc dans ce cas de figure.

Juste au dessus de ta règle qui doit être ressembler à:
CODE
RewriteRule ([a-z0-9]+)\.php3$  index.php?page=$1  [NC,L]

ajoutes une règle qui dite de ne rien faire pour index.php3, c'est très simple:
CODE
RewriteRule index\.php3$  -  [L]


wink.gif Dan
Nudrema
Ou alors, tu peux mettre une condition sur le Rewrite (qui devrait avoir sensiblement le même effet que la solution de Dan) :

CODE
RewriteCond %{REQUEST_URI} !.php3$
RewriteRule ^([a-z0-9]+)\.php3$  index.php?page=$1  [NC][L]
pickupjojo
Merci à tous,

Je préfère la solution de Dan qui me conviendrait très bien.
Malheureusement ça ne marche pas ! wacko.gif

- Voici mon .htaccess :

CITATION
RewriteEngine on

RewriteRule ^([a-zA-Z0-9_-]*)\.php3$ /v4/index.php?page=$1 [L]


Merci d'avance !
Joffrey

smile.gif
pickupjojo
Toujours pas de solution ? sad.gif
pickupjojo
Bon ben merci quand même, mais c'est réglé, il fallait mettre :

CODE
RewriteRule ^index\.php3$ /v4/index.php [R=301]
vchahun
Moi je fonctionne avec ce code dans mon index.php, et ça marche très bien:
CODE
@include "v4/".$_GET["page"].".php3";

(évidemment, c'est un peu plus sophistiqué, c'est juste pour montrer le principe
pickupjojo
Disons que mon code est légèrement plus sécurisé ! rolleyes.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.