Développement d'un site dynamique + url rewriting + css

jiojioforever
WRInaute impliqué
WRInaute impliqué
 
Messages: 523
Inscription: 23 Nov 2006

Développement d'un site dynamique + url rewriting + css

Message le Jeu Fév 21, 2008 12:21

Bonjour,
je développe actuellement un site dynamique + url rewriting + css

Mon site est constitué comme cela :
Code: Tout sélectionner
     <div id="conteneur">
         <div id="bandeau"><?php include('bandeau.php'); ?></div>
        <div id="menu"><?php include('pro_drop4.html'); ?></div>    
        <div id="contenu"><?php include('pages-autorisees.php'); ?></div>
        <div id="pied"><?php include('pied.php'); ?></div>
    <div>


Avant l'url rewriting, j'appelais mon contenu en faisant un :
Code: Tout sélectionner
www.xxxxxx.com/index.php?page=contenu1.php

dans mes pages autorisés je faisais un test comme cela :
Code: Tout sélectionner
if(!isset($_GET['page']))
    {
     include('page-intro.php');
            }
              else
            {
        include('contenu1.php');
        }


mais avec l'url rewriting comment aller chercher la page passée en paramètre ? surtout que l'url de ma page est de type :

Code: Tout sélectionner
www.xxxxxx.com/contenu1.html


Je fais peut être compliqué avec ma méthode mais je n'en vois pas d'autres.
Merci d'avance

Didier_S
WRInaute impliqué
WRInaute impliqué
 
Messages: 567
Inscription: 24 Aoû 2004

Message le Jeu Fév 21, 2008 12:43

de tête, le .htaccess doit donner quelque chose comme ça :
Code: Tout sélectionner
RewriteEngine On
RewriteRule ^(.*?).html$ /index.php?page=$1 [L]


(pense aussi à mettre AllowOverride All dans la configuration apache de ton virtualhost pour permettre l'utilisation du .htaccess)


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3974
Inscription: 16 Nov 2004

Message le Jeu Fév 21, 2008 13:19

Cela ne change rien, le rewrite n'est qu'un maquillage de l'url. Tu travailles toujours sur l'url physique, la variable "page" dans ton cas est active.

Code: Tout sélectionner
if(!isset($_GET['page']))
    {
     include('page-intro.html');
            }
              else
            {
        include('contenu1.html');
        }

jiojioforever
WRInaute impliqué
WRInaute impliqué
 
Messages: 523
Inscription: 23 Nov 2006

Message le Jeu Fév 21, 2008 14:02

mon url rewriting se compose comme ça :

Code: Tout sélectionner
RewriteEngine on
RewriteRule ^(.*).html$ /index.php?page=$1 [L,QSA]


mais en revanche mes liens dans mon code source doit être de quelle sorte ?

index.php?page=contenu1.php ou alors contenu1.html ?

merci merci


e-kiwi
Modérateur
Modérateur
 
Messages: 15617
Inscription: 23 Déc 2003

Message le Jeu Fév 21, 2008 14:03

dans ton code source, tu pointe un fichier sur ton serveur, pas une URL. donc pas d'htacces en vigueur


nickargall
WRInaute accro
WRInaute accro
 
Messages: 6468
Inscription: 13 Juin 2005

Message le Jeu Fév 21, 2008 14:47

... donc ton lien portera sur contenu1.html

jiojioforever
WRInaute impliqué
WRInaute impliqué
 
Messages: 523
Inscription: 23 Nov 2006

Message le Jeu Fév 21, 2008 15:02

alors pour appeler mon contenu j'ai donc :

Code: Tout sélectionner
if(empty($_GET['page']))
    {
     include('page-principale.php');
            }
              else
            {
      include($_GET['page']);
    }


et comme lien :

Code: Tout sélectionner
<a href="/dossier1/page1.html">Pourquoi nous choisir ?</a><br>
<a href="/dossier2/page2.html">Audit Gratuit</a>


et voilà le message d'erreur :

Code: Tout sélectionner
Warning: main(dossier2/page2) [function.main]: failed to open stream: No such file or directory in /home.36/s/u/p/xxxxxx/www/pages-autorisees.php on line 8

Warning: main() [function.include]: Failed opening 'dossier2/page2' for inclusion (include_path='.:/usr/local/lib/php') in /home.36/s/u/p/xxxxxx/www/pages-autorisees.php on line 8

Didier_S
WRInaute impliqué
WRInaute impliqué
 
Messages: 567
Inscription: 24 Aoû 2004

Message le Jeu Fév 21, 2008 15:11

oui ! c'est parce que ton htaccess envoie tout ce qui se situe ( (.*) ) avant le .html dans la variable $page.
Pour avoir une variable $dossier et une $page, tu dois faire : (toujours de tête, désolé)
Code: Tout sélectionner
RewriteRule ^(.*?)/(.*?).html$ /index.php?dossier=$1&page=$2

jiojioforever
WRInaute impliqué
WRInaute impliqué
 
Messages: 523
Inscription: 23 Nov 2006

Message le Jeu Fév 21, 2008 15:18

j'ai carrement cette erreur avec ton code Dider ;) :

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Didier_S
WRInaute impliqué
WRInaute impliqué
 
Messages: 567
Inscription: 24 Aoû 2004

Message le Jeu Fév 21, 2008 15:20

Code: Tout sélectionner
RewriteEngine on
RewriteRule ^(.*?)/(.*?).html$ /index.php?dossier=$1&page=$2  [L,QSA]


comme ça ?
(la fameuse erreur 500, je l'adore, celle-la !)

jiojioforever
WRInaute impliqué
WRInaute impliqué
 
Messages: 523
Inscription: 23 Nov 2006

Message le Jeu Fév 21, 2008 15:22

idem ;)

jiojioforever
WRInaute impliqué
WRInaute impliqué
 
Messages: 523
Inscription: 23 Nov 2006

Message le Jeu Fév 21, 2008 16:21

plus d'idée didier :(


nickargall
WRInaute accro
WRInaute accro
 
Messages: 6468
Inscription: 13 Juin 2005

Message le Jeu Fév 21, 2008 16:23

Code: Tout sélectionner
RewriteEngine On
RewriteRule ^(.*)\.html$ /index.php?page=$1 [L]


Essaie celà ...

jiojioforever
WRInaute impliqué
WRInaute impliqué
 
Messages: 523
Inscription: 23 Nov 2006

Message le Jeu Fév 21, 2008 16:35

ça fonctionne mais mon contenu n'est pas appelé.
Et de plus si je clique 10 fois sur le lien j'aurais 10 fois le nom de mon dossier dans l'url

Didier_S
WRInaute impliqué
WRInaute impliqué
 
Messages: 567
Inscription: 24 Aoû 2004

Message le Jeu Fév 21, 2008 17:14

jiojioforever a écrit:Et de plus si je clique 10 fois sur le lien j'aurais 10 fois le nom de mon dossier dans l'url


pour éviter ça, tes liens doivent être de la forme
Code: Tout sélectionner
/dossier1/page1.html


et non pas
Code: Tout sélectionner
dossier1/page1.html


le premier slash servant à dire "à partir de la racine du site" ;)

pour le .htaccess malheureusement, pas d'idées dans l'immédiat...

Développement d'un site dynamique + url rewriting + css

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité