Ca parait simple pourtant...mais ca ne marche pas

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics

panoramix11
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 8
Inscription: 1 Nov 2011

Ca parait simple pourtant...mais ca ne marche pas

Message le Mar Nov 01, 2011 13:29

Avé toutes et tous

Je débute en réécriture d'url pour mon site.
J'ai écumé le web en long, en large, et en travers. J'ai lu et relu des tutos, j'ai regardé des vidéos, il me semble que tout est correct et pourtant plouf... :roll:

Hébergeur : HostPapa
J'ai un fais un dossier testhtaccess, d'après un tuto pour vérifier que la fonction était bien présente chez mon hébergeur. C'est un tuto de redirection et non de réécriture mais ca fonctionne quand même.

mes pages + le fichier .htaccess se trouvent dans : racine>sousdossiertest

format actuel : racine/sousdossiertest/index.php?page=accueil

et je souhaite qu'elles soient renommées en : racine/sousdossiertest/index.html


mon fichier .htaccess :

Code: Tout sélectionner
Options +FollowSymlinks
RewriteEngine on

RewriteRule ^index.php?page=accueil$ accueil.html [L]


idem pour les autres pages : contact, etc...

Je n'ai aucun message d'erreur, simplement rien n'est réécrit comme si le fichier .htaccess n'existait pas.
Parmi les tests les plus courants effectués et tous sans aucun effet :
- avec et sans l'extension .txt
- avec et sans les ^ et $ (comme vu dans les tutos vidéo)
- avec et sans la ligne :
Code: Tout sélectionner
RewriteBase /sousdossiertest


bref, je deviens chèvre... et un coup de main serait vraiment sympas
Merci d'avance à toutes et à tous :(

Panoramix

Poska
WRInaute discret
WRInaute discret
 
Messages: 53
Inscription: 8 Mar 2005

Re: Ca parait simple pourtant...mais ca ne marche pas

Message le Mar Nov 01, 2011 14:03

pourquoi le htaccess se trouve t'il dans sousdossiertest ?


bgdc
WRInaute impliqué
WRInaute impliqué
 
Messages: 723
Inscription: 23 Mai 2005

Re: Ca parait simple pourtant...mais ca ne marche pas

Message le Mar Nov 01, 2011 14:11

Bonjour,

Je pense que tu as as ecris ta règle à l'envers :

Code: Tout sélectionner
RewriteRule ^index.php?page=accueil$ accueil.html [L]


mais plutot

Code: Tout sélectionner
RewriteRule ^accueil.html$ /index.php?page=accueil [L]


Essayes pour voir...

panoramix11
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 8
Inscription: 1 Nov 2011

Re: Ca parait simple pourtant...mais ca ne marche pas

Message le Mar Nov 01, 2011 14:56

Merci à tous les deux pour vos réponses.

@ Poska
le fichier .htaccess est dans un sousdossier car pour le moment le site encore en phase de test se trouve dans un sousdossier.
Néanmoins, je viens pour faire le test de mettre le fichier .htaccess également à la racine du dossier htmlpublic mais cela ne change rien...

@bgdc
Je viens de tester ta méthode, cela ne change rien non plus... c'est à devenir fou...
Je me suis aussi posé déjà la question à ce sujet car j'ai vu les deux écritures sur différents tutos.
En moyenne, 3 fois sur 4 j'ai vu écrit : ^ adresse réelle à changer $ nouvelle adresse réécrite.html
et 1 fois sur 4 : ^ nouvelleadresseréécrite $ adresse réelle à changer.html

D'autres idées ?... J'aimerais vraiment comprendre
Merci à vous


tryan
WRInaute passionné
WRInaute passionné
 
Messages: 2355
Inscription: 20 Fév 2005

Re: Ca parait simple pourtant...mais ca ne marche pas

Message le Mar Nov 01, 2011 18:11

Salut,

Note : je suis une "burne" en ré écriture mais sait on jamais ^^...
Le .htaccess directement dans "sousdossiertest".
Code: Tout sélectionner
RewriteEngine on
RewriteBase /
RewriteRule  ^accueil\.html$ index.php?page=accueil  [L]

panoramix11
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 8
Inscription: 1 Nov 2011

Re: Ca parait simple pourtant...mais ca ne marche pas

Message le Mar Nov 01, 2011 19:35

@tryan
Merci de la piste, mais ça ne marche toujours pas...
Je vais pas tarder à ouvrir le gaz je crois, ça fait plus d'une semaine que je galère dessus :oops:


tryan
WRInaute passionné
WRInaute passionné
 
Messages: 2355
Inscription: 20 Fév 2005

Re: Ca parait simple pourtant...mais ca ne marche pas

Message le Mar Nov 01, 2011 20:40

Chiote ^^

Et avec un :
Code: Tout sélectionner
RewriteBase /sousdossiertest
??
Sinon :
Code: Tout sélectionner
RewriteRule accueil\.html$ /sousdossiertest/index.php?page=accueil  [L]

panoramix11
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 8
Inscription: 1 Nov 2011

Re: Ca parait simple pourtant...mais ca ne marche pas

Message le Mar Nov 01, 2011 21:06

je viens d'essayer les deux, sans succès...
je ne vois vraiment pas ce qui m'échappe... même si je suis novice 8O

jeroen
WRInaute passionné
WRInaute passionné
 
Messages: 2461
Inscription: 30 Aoû 2002

Re: Ca parait simple pourtant...mais ca ne marche pas

Message le Mar Nov 01, 2011 21:24

Déjà il faut bien inverser ta règle. Essaie

Code: Tout sélectionner
Options +FollowSymlinks
RewriteEngine on

RewriteRule ^accueil\.html$ index.php?page=accueil [L]


sinon essaie (ça dépend des hébergeurs)

Code: Tout sélectionner
Options +FollowSymlinks
RewriteEngine on

RewriteRule ^accueil\.html$ /index.php?page=accueil [L]


la page à appeler pour faire le test est bien entendu accueil.html



Si ça ne marche pas, essaie de mettre le .htaccess à la racine, et colle y ce contenu

Code: Tout sélectionner
Options +FollowSymlinks
RewriteEngine on

RewriteRule ^chemin/accueil\.html$ chemin/index.php?page=accueil [L]


URL à appeler : chemin/accueil.html


Et si ça ne marchait pas, colle l'URL ici http://www.webrankinfo.com/outils/header.php et donne le résultat.

panoramix11
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 8
Inscription: 1 Nov 2011

Re: Ca parait simple pourtant...mais ca ne marche pas

Message le Mar Nov 01, 2011 23:59

@jeroen

Alors j'ai testé tes codes, sans succès...

J'ai fait le collage d'URL demandé et voici le résultat :

Pas de redirection (code 200) (et pourtant d'après ce que j'ai vu le code 200 veut dire : "requête effectuée avec succès" ??

Code: Tout sélectionner
HTTP/1.1 200 OK
Date: Tue, 01 Nov 2011 22:51:41 GMT
Server: Apache
X-Powered-By: PHP/5.3.8
Content-Type: text/html


c'est grave docteur ?...

jeroen
WRInaute passionné
WRInaute passionné
 
Messages: 2461
Inscription: 30 Aoû 2002

Re: Ca parait simple pourtant...mais ca ne marche pas

Message le Mer Nov 02, 2011 4:36

Si la redirection se fait normalement, c'est normal.
Rassure moi,
- le fichier dossier/index.html N'EXISTE PAS ?
- L'URL que tu appelle est bien dossier/index.html ?
- si tu appelle le fichier dossier/index.php?page=accueil le résultat n'est pas une page blanche ?
- Tu ne t'attends pas à ce que l'URL change dans la barre du navigateur ?


Essaie de mettre ça

Options +FollowSymlinks
RewriteEngine on

RewriteRule ^accueil\.html$ index.php?page=accueil [L,R=301]


et refais le test http://www.webrankinfo.com/outils/header.php

Poska
WRInaute discret
WRInaute discret
 
Messages: 53
Inscription: 8 Mar 2005

Re: Ca parait simple pourtant...mais ca ne marche pas

Message le Mer Nov 02, 2011 14:34

quel est ton hébergeur ?
ne serait-ce pas free.fr ?

panoramix11
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 8
Inscription: 1 Nov 2011

Re: Ca parait simple pourtant...mais ca ne marche pas

Message le Mer Nov 02, 2011 15:00

@jeroen

Alors, je te réponds dans l'ordre :

- le fichier dossier/index.html N'EXISTE PAS ?
Non, ce fichier index.html n'existe pas physiquement dans le dossier.
Tous mes fichiers sont en .php (accueil, contact, etc...) et se trouvent dans :
htmlpublic(racine du site) > sousdossierdetravail
Bien évidemment, à terme quand tout sera OK, l'intégralité du site sera transférée à la racine, et ce "sousdossiedetravail" sera supprimé.

- L'URL que tu appelle est bien dossier/index.html ?
Je ne suis pas sûr de bien comprendre ta question, donc pardonnes moi si je ne te réponds pas comme je le devrais.
Encore une fois TOUTES les pages du site sont des fichiers php réels dans le sousdossierdetravail.
Concernant le chemin pour les appeler depuis le fichier .htaccess, cela dépend des tests effectués :
soit :
Code: Tout sélectionner
RewriteRule accueil\.html$ /sousdossiertest/index.php?page=accueil  [L]

ou
Code: Tout sélectionner
RewriteRule accueil\.html$  index.php?page=accueil  [L]


- si tu appelle le fichier dossier/index.php?page=accueil le résultat n'est pas une page blanche ?
Je te le confirme, le résultat n'est pas une page blanche, elle s'affiche tout à fait normalement.

- Tu ne t'attends pas à ce que l'URL change dans la barre du navigateur ?
Heu... oui ? le but de la réécriture d'URL est bien que la nouvelle adresse en .html s'affiche dans la barre d'adresse non ?


J'ai refait le test que tu m'as demandé avec ton nouveau code est le résultat est le même :
Pas de redirection (code 200)

HTTP/1.1 200 OK
Date: Wed, 02 Nov 2011 13:10:22 GMT
Server: Apache
X-Powered-By: PHP/5.3.8
Content-Type: text/html



@Poska
Non du tout, c'est HostPapa

jeroen
WRInaute passionné
WRInaute passionné
 
Messages: 2461
Inscription: 30 Aoû 2002

Re: Ca parait simple pourtant...mais ca ne marche pas

Message le Mer Nov 02, 2011 16:42

Bon, je crois qu'il y a une grosse incompréhension de ta part.

je part de ton exemple, ou tu veux réécrire une adresse .php en .html

L'URLREWRITING ne va pas modifier ton adresse .php en .html, elle va simplement servir une url en .php lorsqu'une url en .html est demandée au serveur, et ceci de façon transparente pour l'utilisateur.

Si tu tape tonadresse.php dans la barre de ton navigateur, ta page sera servie de façon classique, sans faire appel à l'URL rewriting.
Si tu tape tonadresse.html dans la barre de ton navigateur, le serveur va servir en fait la page .php (réécriture d'URL), mais de façon transparente pour l'utilisateur, et l'URL dans la barre du navigateur ne changera PAS, elle restera .html.

L'URL rewiting implique que tu doive changer toutes les URL de ton site, pour que les liens pointent vers des .html.


Je résume
Avant l'URL rewriting :
- tes liens pointent vers mapage.php
- quand tu clique sur ces liens, les pages sont servies de façon classique, et mapage.php apparait dans la barre du navigateur

Après l'URL rewriting :
- tes liens sont du type mapage.HTML (parce que tu as repris tes pages une par une et modifié le code source)
- quand tu clique sur un lien, la page servie est la page mapage.php (via la règle de réécriture), mais c'est transparent pour l'utilisateur : l'URL dans la barre d'adresse du navigateur reste mapage.html


Capito ?

panoramix11
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 8
Inscription: 1 Nov 2011

Re: Ca parait simple pourtant...mais ca ne marche pas

Message le Mer Nov 02, 2011 17:03

Ah oui en effet c'est bien possible... :roll:

Tu me corriges si je me trompes alors il faudrait que je modifie le code php de ma page index (qui gère la navigation) :

Actuellement :
Code: Tout sélectionner
<!-- <div id="contenu">  -->       
              <?php
                        if (isset($page)) {
                                include $page.'.php';
                                }
                               
                        else {
                            include 'accueil.php';
                        }
                           
                        ?>
             
   <!-- </div>-->


Il faudrait que je le transforme en :

Code: Tout sélectionner
<!-- <div id="contenu">  -->       
              <?php
                        if (isset($page)) {
                                include $page.'.html';
                                }
                               
                        else {
                            include 'accueil.html';
                        }
                           
                        ?>
             
   <!-- </div>-->


J'ai bon ?...

Mais à la base, que le navigateur affiche accueil.php ou accueil.html est secondaire pour moi.
Ce que je voudrais c'est que la variable n'apparaisse pas, que index.php?page=accueil devienne "simplement" : accueil.html, ou accueil.php peut m'importe.

C'est possible ?

Merci en tout cas pour tes explications et ta patience... Ca devient si rare...

Ca parait simple pourtant...mais ca ne marche pas

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

Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. 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 :



Qui est en ligne

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