Ca parait simple pourtant...mais ca ne marche pas
17 messages
• Page 1 sur 2 • 1, 2
Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics
- panoramix11
- Nouveau WRInaute

- Messages: 8
- Inscription: 1 Nov 2011
Ca parait simple pourtant...mais ca ne marche pas
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...
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 :
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 :
bref, je deviens chèvre... et un coup de main serait vraiment sympas
Merci d'avance à toutes et à tous
Panoramix
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...
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
-

bgdc - WRInaute impliqué

- Messages: 723
- Inscription: 23 Mai 2005
Re: Ca parait simple pourtant...mais ca ne marche pas
Bonjour,
Je pense que tu as as ecris ta règle à l'envers :
mais plutot
Essayes pour voir...
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

- Messages: 8
- Inscription: 1 Nov 2011
Re: Ca parait simple pourtant...mais ca ne marche pas
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
@ 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é

- Messages: 2355
- Inscription: 20 Fév 2005
Re: Ca parait simple pourtant...mais ca ne marche pas
Salut,
Note : je suis une "burne" en ré écriture mais sait on jamais ^^...
Le .htaccess directement dans "sousdossiertest".
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

- Messages: 8
- Inscription: 1 Nov 2011
Re: Ca parait simple pourtant...mais ca ne marche pas
@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
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
-

tryan - WRInaute passionné

- Messages: 2355
- Inscription: 20 Fév 2005
Re: Ca parait simple pourtant...mais ca ne marche pas
Chiote ^^
Et avec un :
Sinon :
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

- Messages: 8
- Inscription: 1 Nov 2011
Re: Ca parait simple pourtant...mais ca ne marche pas
je viens d'essayer les deux, sans succès...
je ne vois vraiment pas ce qui m'échappe... même si je suis novice
je ne vois vraiment pas ce qui m'échappe... même si je suis novice
- jeroen
- WRInaute passionné

- Messages: 2461
- Inscription: 30 Aoû 2002
Re: Ca parait simple pourtant...mais ca ne marche pas
Déjà il faut bien inverser ta règle. Essaie
sinon essaie (ça dépend des hébergeurs)
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
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.
- 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

- Messages: 8
- Inscription: 1 Nov 2011
Re: Ca parait simple pourtant...mais ca ne marche pas
@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" ??
c'est grave docteur ?...
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é

- Messages: 2461
- Inscription: 30 Aoû 2002
Re: Ca parait simple pourtant...mais ca ne marche pas
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
et refais le test http://www.webrankinfo.com/outils/header.php
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
- panoramix11
- Nouveau WRInaute

- Messages: 8
- Inscription: 1 Nov 2011
Re: Ca parait simple pourtant...mais ca ne marche pas
@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 :
ou
- 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 :
@Poska
Non du tout, c'est HostPapa
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é

- Messages: 2461
- Inscription: 30 Aoû 2002
Re: Ca parait simple pourtant...mais ca ne marche pas
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 ?
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

- Messages: 8
- Inscription: 1 Nov 2011
Re: Ca parait simple pourtant...mais ca ne marche pas
Ah oui en effet c'est bien possible...
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 :
Il faudrait que je le transforme en :
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...
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...
17 messages
• Page 1 sur 2 • 1, 2
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 :
- strpos simple mais ne marche pas RESOLU
- Simple réécriture en local qui ne marche pas
- Htaccess tout simple qui marche pas
- Un truc tout simple... qui marche pas [REGLE]
- une ligne de code toute simple qui marche pas (snif)
- Il paraît que ma page d'accueil est un foutoir...
- [Dédié] Lenteurs alors que tout paraît OK
- il parait que je suis 3eme sur Google ?!?
- Depuis 1 mois google parait plus sévère...
- Info annuaire qui me parait nouveau lerdv
- Transformer des textes non cliquables en liens
Cet outil vous permet de trouver des pages citant votre site mais ne faisant pas (encore) de lien. Il suffira parfois d'un simple mail pour transformer cette simple citation en lien (backlink).
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

