Aller au contenu

Gros problèmes avec pseudos-frames


Sujets conseillés

Posté

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 ! ;)

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:

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:

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 ! :( 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:

Joffrey, complètement paumé dans le PHP ! :D

PS: l'index du site demande à afficher "accueil.php". L'index pour les visiteurs devrait donc être "accueil.php3"... :unsure:

Guest azeitona
Posté

tu peux nous balance ton .htaccess ?

Posté

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 à:

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:

RewriteRule index\.php3$  -  [L]

;) Dan

Posté

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

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

Posté

Merci à tous,

Je préfère la solution de Dan qui me conviendrait très bien.

Malheureusement ça ne marche pas ! :wacko:

- Voici mon .htaccess :

RewriteEngine on

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

Merci d'avance !

Joffrey

:)

Guest vchahun
Posté

Moi je fonctionne avec ce code dans mon index.php, et ça marche très bien:

@include "v4/".$_GET["page"].".php3";

(évidemment, c'est un peu plus sophistiqué, c'est juste pour montrer le principe

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...