Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Serveurs (Apache, IIS,...) > Apache
Apache Forum d'entraide Apache. Avant de poster : Cours Apache, FAQ Apache
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/06/2011, 11h45   #1
Invité de passage
 
Femme
Étudiant
Inscription : septembre 2010
Messages : 72
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 22
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2010
Messages : 72
Points : 3
Points : 3
Par défaut [URL rewriting] Changer ?page=contact en /contact.html

Bonjour à tous, je viens vous demander un petit coup de pouce pour une réecriture d'URL ou je bloque

Mes pages sont sous la forme suivante :

Citation:
/index.php?page=contact
/index.php?page=salle
/index.php?page=client
Je souhaiterai les changer sous la forme suivante :

Citation:
/contact.htm
/salle.htm
/client.htm
Helas je suis bloqué sur mon expression régulière =>
Code :
1
2
RewriteRule ^[index\.php\?page\=][a-zA-Z]{3,6}[\.php]$ pagearenomer.html [L]
Je vous remercie par avance
Lekno est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 25/06/2011, 11h56   #2
Membre Expert
 
Avatar de Eric2a
 
Homme Eric Garidacci
Inscription : septembre 2005
Messages : 1 057
Détails du profil
Informations personnelles :
Nom : Homme Eric Garidacci
Âge : 41

Informations forums :
Inscription : septembre 2005
Messages : 1 057
Points : 1 564
Points : 1 564
Salut,

Code :
RewriteRule ^([a-zA-Z]{3,6})\.htm$ /index.php?page=$1 [NC,L]
ou plus restrictif
Code :
RewriteRule ^(contact|salle|client)\.htm$ /index.php?page=$1 [NC,L]
__________________

N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].

Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ...
Eric2a est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2011, 12h05   #3
Invité de passage
 
Femme
Étudiant
Inscription : septembre 2010
Messages : 72
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 22
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2010
Messages : 72
Points : 3
Points : 3
Citation:
Envoyé par Eric2a Voir le message
Salut,

Code :
RewriteRule ^([a-zA-Z]{3,6})\.htm$ /index.php?page=$1 [NC,L]
ou plus restrictif
Code :
RewriteRule ^(contact|salle|client)\.htm$ /index.php?page=$1 [NC,L]
Salut, je vais essayer ton code, peux tu m'éclairer sur le " $1" ? A quoi correspond il ?

Cordialement

Après test de ton code, je n'ai pas de récriture d'URL dans ma barre d'adresse... j'ai toujours mon index.php?page=salle par exemple.


Mon menu se présente sous la forme suivante

Code html :
1
2
3
4
5
6
7
 
                    <li class="menu"><a href="index.php">Accueil</a></li>
                    <li class="menu"><a href="index.php?page=salle">Salle</a></li>
                    <li class="menu"><a href="index.php?page=tarifs">Tarifs</a></li>
                    <li class="menu"><a href="index.php?page=cartes">Jeux Cartes</a></li>
                    <li class="menu"><a href="index.php?page=contact">Contact</a></li>
                    <li class="menumagic"> <a href="index.php?page=raremagic">rare</a></li>
Lekno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2011, 12h12   #4
Membre Expert
 
Avatar de Eric2a
 
Homme Eric Garidacci
Inscription : septembre 2005
Messages : 1 057
Détails du profil
Informations personnelles :
Nom : Homme Eric Garidacci
Âge : 41

Informations forums :
Inscription : septembre 2005
Messages : 1 057
Points : 1 564
Points : 1 564
Pour le motif suivant :
^([a-zA-Z]{3,6})\.htm
Le moteur d'expressions rationnelles va capturer ce qui se trouve entre parenthèse et placer le résulat dans la variable $1.

Ainsi, pour la requête contact.htm, $1 vaudra contact. Ce qui donne index.php?page=contact.

Edit:
Il faut que tes liens actuels
Code :
<li class="menu"><a href="index.php?page=salle">Salle</a></li>
soient remplacés par
Code :
<li class="menu"><a href="salle.htm">Salle</a></li>
__________________

N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].

Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ...
Eric2a est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2011, 12h21   #5
Invité de passage
 
Femme
Étudiant
Inscription : septembre 2010
Messages : 72
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 22
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2010
Messages : 72
Points : 3
Points : 3
Après test, il se trouve que je souhaite masquer mon index.php?page=contact
en le retrouvant en contact.htm.

Il me semble la c'est inversée, je me trompe ?
Lekno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2011, 12h31   #6
Membre Expert
 
Avatar de Eric2a
 
Homme Eric Garidacci
Inscription : septembre 2005
Messages : 1 057
Détails du profil
Informations personnelles :
Nom : Homme Eric Garidacci
Âge : 41

Informations forums :
Inscription : septembre 2005
Messages : 1 057
Points : 1 564
Points : 1 564
Citation:
Envoyé par Lekno
dans ma barre d'adresse... J'ai toujours mon index.php?page=salle par exemple.
As-tu bien saisi salle.htm ?
Si la réécriture est effective tu dois voir le contenu de index.php?page=salle. Il vaut mieux s'en assurer avant de modifier les liens contenus dans index.php

Citation:
Envoyé par Lekno
il se trouve que je souhaite masquer mon index.php?page=contact en le retrouvant en contact.htm.
On référence les pages xxx.htm qui correspondent aux fichiers rééls index.php?page=xxx.
__________________

N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].

Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ...
Eric2a est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2011, 13h23   #7
Invité de passage
 
Femme
Étudiant
Inscription : septembre 2010
Messages : 72
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 22
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2010
Messages : 72
Points : 3
Points : 3
Citation:
Envoyé par Eric2a Voir le message
As-tu bien saisi salle.htm ?
Si la réécriture est effective tu dois voir le contenu de index.php?page=salle. Il vaut mieux s'en assurer avant de modifier les liens contenus dans index.php


On référence les pages xxx.htm qui correspondent aux fichiers rééls index.php?page=xxx.
J'ai modifié mon code, cela fonctionne mais lors du clique avec un lien type, content/salle.htm cela m'affiche ma page d'acceuil wamp....

http://localhost/sitelocal/content/salle.htm avec ce lien j'affiche mon acceuil wamp
Lekno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2011, 15h00   #8
Invité de passage
 
Femme
Étudiant
Inscription : septembre 2010
Messages : 72
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 22
Localisation : France

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2010
Messages : 72
Points : 3
Points : 3
Je vais essayer de récapituler, je crois que j'ai raté quelque chose. C'est la première fois que je fais ceci et dans les tuto que j'ai regardé il manque toujours un élément

Mes pages sont sous la forme suivante :

Citation:
/index.php?page=contact
/index.php?page=salle
/index.php?page=client
Je souhaiterai les changer sous la forme suivante :

Citation:
/contact.htm
/salle.htm
/client.htm
J'ai ceci dans mon htcces

Citation:
#RewriteRule ^(contact|salle|client|404|cartes|content|footer|header|menu|salle|tarifs)\.htm$ /index.php?page=$1 [NC,L]
Et mon menu dans mon header est écrit sous cette forme :

Code html :
<li class="menu"><a href="salle.html">Salle</a></li>

Avec tout ceci, j'ai

Citation:
Not Found

The requested URL /sitelocal/content/salle.html was not found on this server.
Je pense avoir raté quelque chose
Lekno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/06/2011, 19h02   #9
Membre Expert
 
Avatar de Eric2a
 
Homme Eric Garidacci
Inscription : septembre 2005
Messages : 1 057
Détails du profil
Informations personnelles :
Nom : Homme Eric Garidacci
Âge : 41

Informations forums :
Inscription : septembre 2005
Messages : 1 057
Points : 1 564
Points : 1 564
La ligne permettant la réécriture est commentée, ensuite, dans le motif de l'expression rationnelle, l'extention pour le fichier est .htm mais tu tentes d'accéder à un fichier .html.
__________________

N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].

Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ...
Eric2a est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h48.


 
 
 
 
Partenaires

Hébergement Web