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

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics


jiojioforever
WRInaute passionné
WRInaute passionné
 
Messages: 503
Inscription: Jeu Nov 23, 2006 14:38

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 passionné
WRInaute passionné
 
Messages: 563
Inscription: Mar Aoû 24, 2004 22:25

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: 3338
Inscription: Mar Nov 16, 2004 18:27

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 passionné
WRInaute passionné
 
Messages: 503
Inscription: Jeu Nov 23, 2006 14:38

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: 13872
Inscription: Mar Déc 23, 2003 9:04

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: 5332
Inscription: Lun Juin 13, 2005 14:13

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

... donc ton lien portera sur contenu1.html


jiojioforever
WRInaute passionné
WRInaute passionné
 
Messages: 503
Inscription: Jeu Nov 23, 2006 14:38

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 passionné
WRInaute passionné
 
Messages: 563
Inscription: Mar Aoû 24, 2004 22:25

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 passionné
WRInaute passionné
 
Messages: 503
Inscription: Jeu Nov 23, 2006 14:38

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 passionné
WRInaute passionné
 
Messages: 563
Inscription: Mar Aoû 24, 2004 22:25

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 passionné
WRInaute passionné
 
Messages: 503
Inscription: Jeu Nov 23, 2006 14:38

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

idem ;)


jiojioforever
WRInaute passionné
WRInaute passionné
 
Messages: 503
Inscription: Jeu Nov 23, 2006 14:38

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

plus d'idée didier :(


nickargall
WRInaute accro
WRInaute accro
 
Messages: 5332
Inscription: Lun Juin 13, 2005 14:13

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 passionné
WRInaute passionné
 
Messages: 503
Inscription: Jeu Nov 23, 2006 14:38

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 passionné
WRInaute passionné
 
Messages: 563
Inscription: Mar Aoû 24, 2004 22:25

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

Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :

Consultez la description détaillée des produits ou services de Google suivants : Google API, Google Web Toolkit, Google Androïd



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités