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 :

problématique url rewriting


Sujet :

Apache

  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 161
    Par défaut problématique url rewriting
    bonjour a tous,
    voici ma problèmatique ...

    je dispose d'un index recevant 2 parametres :
    • index.php?a=mavariable
    • index.php?page_id=monautrevariable


    et je voudrais avoir un type d'url

    ma problematique est comment faire pour que lorsque je passe le parametre dans mon url, je puisse taper dans le bon select * from ... Where id = mon parametre

    tout en sachant que je ne veut pas que mon url soit du type

    http://www.monsite.tld/mapage/quielleaussiesttropbien
    ou encore
    http://www.monsite.tld/mapage-quielleaussiesttropbien

    Merci par avance pour votre aide

  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
    Par défaut
    Désolé mais j'ai rien compris. En gros, tu voudrais qu'Apache sache réécrire une URL avec ?a=... ou ?page_id=... selon un critère que tu n'arrives pas à définir ? C'est lourdingue mais au pire, si le nombre d'URL/de pages est limité, tu peux faire une règle de réécriture par page

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 161
    Par défaut
    mais pourquoi avoir déplacé mon topic dans apache alors que la c'est plus un probleme d'analyse et de php mais pas de apache ??

    puisque j'ai du mal a m'exprimer, je voulais savoir en gros comment faisait wordpress pour gerer son url rewrting

    j'ai regardé les fonctions et j'ai du mal a comprendre comme il le gere !

    ce que j'ai plus ou moins compris c que sans rewriting on se retrouve avec un type d'url

    monsite/?p=$idpost

    et

    monsite/?page_id=$idpost

    et qu'avec l'url rewriting je me retrouve avec une url du genre

    monsite/cesttropbien

    et

    monsite/jenecomprendpas

    pour info voici le htaccess

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . {$home_root}{$this->index} [L]
    qu'est ce ca veut dire

    merci de votre aide

  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
    Par défaut
    Citation Envoyé par Hotfirenet Voir le message
    pour info voici le htaccess
    D'où le forum Apache : .htaccess c'est spécifique à Apache.

    D'où il sort justement ce .htaccess ? Je suis surpris de voir des $home_root : je ne suis pas sûr que ça dise quelque chose à Apache. A mon avis, c'est un .htaccess "template" qui est modifié à l'installation de Wordpress. Si c'est cela, peux-tu nous donner le .htaccess définitif, vraiment utilisé par Apache.

    Mon avis sur la question : tout est géré par index.php : http://monsite.com/mapageavecuntoptitre est réécrit en http://monsite.com/index.php?title=mapageavecuntoptitre ou équivalent et c'est index.php qui retrouve l'article à partir de son titre. Avec un .htaccess, on ne peut pas passer facilement d'un titre à un id. Je veux que passer de http://monsite.com/mapageavecuntoptitre à http://monsite.com/page_id=12, c'est nécessairement qu'il y a une règle explicite dans le .htaccess qui fait passer de la première à la seconde URL, car Apache n'a aucune moyen (sauf module spécifique) de savoir que l'ID de mapageavecuntoptitre c'est 12.

  5. #5
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 161
    Par défaut
    voici le htaccess

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>

  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
    Par défaut
    D'accord, c'est comme je disais : toutes les URL déclanchent index.php (sans paramètre supplémentaire) et index.php reprend et décode l'URL d'appel. Ca revienne au même qu'il y ait ou nom un paramètre d'URL explicite.

    Donc on en revient à la question initiale : comment faire en sorte que ton script récupère la bonne information, i.e. qu'il fasse la différence entre une URL devant être réécrite en index.php?a=mavariable et une autre en index.php?page_id=monautrevariable ?

  7. #7
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 161
    Par défaut
    ok mais qu'est ce que ca veut dire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d

  8. #8
    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
    Par défaut
    Pardon, j'avais pas vu la question. Ca veut dire "si le nom de ce qui est demandé est ni un fichier (!-f) ni un répertoire (!-d)". Cf. la doc Apache sur l'URL rewriting.

  9. #9
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    161
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 161
    Par défaut
    oki merci bien pour les infos

    vraiment merci

    je ne met pas le topic en résolu encore car maintenant que je pense avoir compris il faut passer a la pratique et la j'aurais surement de nouvelles question

    mais encore merci

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 31/03/2008, 16h30
  2. [Débutant]infos ds session sans cookie ? url rewriting ?
    Par Satanas_et_diabolo dans le forum ASP
    Réponses: 8
    Dernier message: 10/10/2006, 17h13
  3. .htaccess - url rewriting, besoin de conseils
    Par giminik dans le forum Apache
    Réponses: 2
    Dernier message: 25/04/2005, 20h18
  4. Activer l'url rewriting
    Par Otaugames dans le forum Apache
    Réponses: 2
    Dernier message: 09/03/2005, 14h58
  5. Url Rewriting / htaccess
    Par bisi dans le forum Apache
    Réponses: 4
    Dernier message: 25/07/2004, 22h12

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