IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

Probleme URL rewriting


Sujet :

Apache

  1. #1
    Membre régulier Avatar de cflo91
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 113
    Points : 77
    Points
    77
    Par défaut Probleme URL rewriting
    Bonjour,
    voici mon probleme:

    Quand je suis sur ma page salledejeux.php (rewrite salledejeux.html), je voudrai mettre des liens vers salledejeux.php?salle=nom (je voudrais rewrite en nom.html)

    Voici mon fichier .htaccess
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Options +FollowSymlinks
     
    RewriteEngine on
     
    RewriteRule ^index.html$  /index.php [L]
     
    RewriteRule ^([-a-z0-9]+).html$  /index.php?id=$1 [L]
     
    RewriteRule ^([-a-z0-9]+).html$  /index.php?salle=$1 [L]
    voici ma page d'index
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    	<?php
     
    						if ( isset( $_GET['id'] )  ) $id = $_GET['id'];
    						else $id = 'accueil';
     
     
    						switch ( $id )
     
    						{
    							case 'accueil':					 		 include("pages/accueil.php");
    															 		 break;
     
     
    							case 'salledejeux':					 include("pages/salledejeux.php");
    																	 break;
     
    							case 'salle':							 if (isset($salle))							 
    																	 {
    																	 	include("pages/detail_salle.php");
    																	 }
    																	 break;
     
    						}
     
    		?>
    Comment dois je faire ?

    Merci d'avance

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Citation Envoyé par cflo91 Voir le message
    Quand je suis sur ma page salledejeux.php (rewrite salledejeux.html), je voudrai mettre des liens vers salledejeux.php?salle=nom (je voudrais rewrite en nom.html)
    J'ai rien compris : donne-nous des exemples clairs de ce tu as actuellement et de ce que tu veux faire.

    Je rappelle que l'URL rewirting ne permet pas de modifier les liens (URL) figurant dans le code HTML qui est renvoyé au navigateur, ça sert uniquement à modifier l'interprétation des URL reçues par le serveur.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  3. #3
    Membre régulier Avatar de cflo91
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 113
    Points : 77
    Points
    77
    Par défaut
    Actuellement, je dispose d'une page index.php avec un parametre id qui correspond à plusieurs pages.

    Par exemple: www.monsite.fr/index.php?id=accueil
    avec le rewriting ça donne www.monsite.fr/accueil.html

    Cela marche très bien mais maintenant lorsque je suis sur la page index.php?id=accueil.
    Je voudrai ajouter des liens du types:
    index.php?salle=nom

    Mais je ne sais pas comment m'y prendre dans le htaccess ?

    .htaccess
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Options +FollowSymlinks
     
    RewriteEngine on
     
    RewriteRule ^index.html$  /index.php [L]
     
    RewriteRule ^([-a-z0-9]+).html$  /index.php?id=$1 [L]

  4. #4
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Citation Envoyé par cflo91 Voir le message
    Je voudrai ajouter des liens du types:
    index.php?salle=nom
    Tu veux les écrire comment ? Comment veux-tu les différencier de index.php?id= ? Ce que je veux dire c'est qu'il faut trouver des règles de réécriture différentes pour pouvoir faire la différence entre les 2 : dans ton premier .htaccess, tu avais 2 RewriteRule mais le filtre était le même (^([-a-z0-9]+).html$) donc Apache ne sais pas faire la différence et n'applique toujours que la première règle qui renvoie vers index.php?id.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  5. #5
    Membre régulier Avatar de cflo91
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 113
    Points : 77
    Points
    77
    Par défaut
    J'ai fait ceci mais ça ne fonctionne pas.
    Au final, je voudrai affiché www.monsite.fr/salle-nomdelasalle.html

    J'ai mis ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    RewriteRule ^salle-([-a-z0-9]+).html$  /index.php?id=salledejeux&salle=$1 [L]
    mon lien se présente comme ceci:
    (il se trouve sur la page index.php?id=salledejeux.html (avec rewrite: salledejeux.html))
    href="salle-<?php echo $nom;?>.html"

    ma page index:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    case 'salle':					 		if (isset($salle))							 
    								 {
    																 	include("pages/detail_salle.php");
    																	 }
    																	 break;
    et ça me met:
    The requested URL /salle-nomjeu.html was not found on this server.


    Merci d'avance

  6. #6
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Elle marche très bien chez moi, cette règle avec http://localhost/salle-nomjeu.html...

    Essaie comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^salle-([-a-z0-9]+).html$  /index.php?id=salledejeux&salle=$1 [NC,L]

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  7. #7
    Membre régulier Avatar de cflo91
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 113
    Points : 77
    Points
    77
    Par défaut
    Quand je rajoute NC, je reste sur la meme page...

    Voici mon .htaccess sans le NC:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    Options +FollowSymlinks
     
     
     
    # Activation du module de réécriture d'URL :
     
    RewriteEngine on
     
     
     
    RewriteRule ^index.html$  /index.php [L]
     
    RewriteRule ^salle-([-a-z0-9]+).html$  /index.php?id=salle&salle=$1 [L] 
     
    RewriteRule ^([-a-z0-9]+).html$  /index.php?id=$1 [L]

  8. #8
    Membre régulier Avatar de cflo91
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 113
    Points : 77
    Points
    77
    Par défaut
    C'est bon ça fonctionne.

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme Url Rewriting sur 1&1
    Par miccki dans le forum Apache
    Réponses: 1
    Dernier message: 28/05/2010, 15h30
  2. probleme url rewriting 1and1
    Par cilies38 dans le forum Apache
    Réponses: 1
    Dernier message: 10/03/2010, 15h02
  3. probleme URL Rewriting
    Par xlipx dans le forum 1&1
    Réponses: 2
    Dernier message: 12/10/2007, 13h42
  4. Debian, apache2, probleme url rewriting
    Par gantix dans le forum Réseau
    Réponses: 1
    Dernier message: 03/04/2007, 23h23
  5. Probleme Url rewriting
    Par bat2504 dans le forum Apache
    Réponses: 1
    Dernier message: 15/10/2006, 09h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo