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 :

[URL rewriting] Masquer l'extension .php


Sujet :

Apache

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 114
    Points : 75
    Points
    75
    Par défaut [URL rewriting] Masquer l'extension .php
    bonjour
    mon site est :
    site.com/fichier.php
    je voudrais faire en sorte que ça soit
    site.com/fichier/

    quel est svp le schema à utiliser ?

  2. #2
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteEngine on
    RewriteRule ^fichier/$ fichier.php [L]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    RewriteEngine on
    RewriteCond %{REQUEST_URI} !-d
    #RewriteCond %{REQUEST_URI}.php -f
    RewriteRule ^([^/]+)/$ $1.php [L]

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 26
    Points : 13
    Points
    13
    Par défaut
    bonjour tout le monde
    même but que moi mais ton code Julp ne résoud pas

  4. #4
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Dire que quelque chose ne fonctionne pas est une chose. Mais sans explication, comment doit-on deviner ce qui est en cause ? (réécriture fonctionnelle ?, si oui : URL d'origine ? traces relatives dans les journaux d'erreur et accès ?)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    RewriteEngine on
    RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
    RewriteRule ^(.+)/$ $1.php [L]

  5. #5
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 26
    Points : 13
    Points
    13
    Par défaut
    re-bonjour
    mon but est de cacher l'extension .php dans mes pages
    donc,je veux qu'une url de cette forme https://site/page.php s'affichera comme ça
    :https://site/page/
    (le même besoin que vladimire)
    donc,si je bien comprenais,ta répose Julp est de mettre ce code dans le fichier .htaccess:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    RewriteEngine on
    RewriteCond %{REQUEST_URI} !-d
    #RewriteCond %{REQUEST_URI}.php -f
    RewriteRule ^([^/]+)/$ $1.php [L]
    Mais,le problème n'est pas résolu

  6. #6
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Ça ne répond pas à ma question : définition de ne pas fonctionner ?

    Mais attention à bien voir ce qu'est la réécriture : ça ne modifie pas le contenu [vos liens] de vos pages (qu'elles soient générées - CGI, PHP, etc - ou statiques - HTML/texte). Elle permet simplement, en gros, de faire pointer une URL virtuelle vers une URL réelle en interne (ie : de manière invisible pour le client).

    Soit, ici, avoir une URL (côté client, telle qu'il la demande) comme http://monsite/page/ et qu'Apache lui serve http://monsite/page.php. La réécriture ne fait rien d'autre. (je ne parle pas de redirection, ce que permet aussi la réécriture)

    On est d'accord ?

  7. #7
    Membre à l'essai
    Inscrit en
    Février 2010
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 26
    Points : 13
    Points
    13
    Par défaut
    Citation Envoyé par julp Voir le message
    Ça ne répond pas à ma question : définition de ne pas fonctionner ?

    Mais attention à bien voir ce qu'est la réécriture : ça ne modifie pas le contenu [vos liens] de vos pages (qu'elles soient générées - CGI, PHP, etc - ou statiques - HTML/texte). Elle permet simplement, en gros, de faire pointer une URL virtuelle vers une URL réelle en interne (ie : de manière invisible pour le client).

    Soit, ici, avoir une URL (côté client, telle qu'il la demande) comme http://monsite/page/ et qu'Apache lui serve http://monsite/page.php. La réécriture ne fait rien d'autre. (je ne parle pas de redirection, ce que permet aussi la réécriture)

    On est d'accord ?
    1/Merci beaucoup Julp pou ta patience et ton aide
    2/oui je suis d'accord avec vous Julp en ce qui concerne qu'elle permet simplement, en gros, de faire pointer une URL virtuelle vers une URL réelle en interne (ie : de manière invisible pour le client),et ça ce que je veux
    Mais j'ai pas compris quoi faire pour masquer le php?
    ler erreurs marqués dans le fichier error.log sont:
    [date_heure] [notice] Child 6028: Child process is running
    [date_heure] [notice] Child 6028: Acquired the start mutex.
    [date_heure] [notice] Child 6028: Starting 250 worker threads.
    [date_heure] [notice] Child 6028: Starting thread to listen on port 443.
    [date_heure] [notice] Child 6028: Starting thread to listen on port 80.

  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
    Points : 12 977
    Points
    12 977
    Par défaut
    Citation Envoyé par DJOOOO Voir le message
    Mais j'ai pas compris quoi faire pour masquer le php?
    Taper dans le navigateur l'URL sans le .php : http://monsite/page. Avec ce test simple, dis-nous si tu obtiens le résultat attendu. Tu dis juste que ça ne fonctionne pas mais qu'est-ce qui ne fonctionne pas ? Un peu de détail, s'il te plaît.

    Après, si dans le code HTML renvoyé par page.php il y a des <a href="...php">, il faut corriger le code de page.php pour retirer le .php du code HTML.

    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

  9. #9
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2006
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2006
    Messages : 114
    Points : 75
    Points
    75
    Par défaut
    j'ai fini par faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^services$  /services.php [L]
    et ça marche sans soucis, juste comme Mac l'a precisé, fais en sorte de retirer tes .php de tes href

  10. #10
    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
    Y a une subtilité : j'ai bien pris soin de ne pas mettre de / à la fin de l'URL. Il faut d'abord tester sans puis avec.

    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

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

Discussions similaires

  1. [URL rewriting] Remplacer l'extension des fichiers .php
    Par l.laurent60 dans le forum Apache
    Réponses: 1
    Dernier message: 14/07/2010, 18h12
  2. Réponses: 6
    Dernier message: 18/12/2009, 14h26
  3. Réponses: 3
    Dernier message: 08/03/2009, 10h58
  4. [URL Rewriting] erreur RewriteRule html->php
    Par atchoumen dans le forum Apache
    Réponses: 2
    Dernier message: 09/06/2008, 20h05
  5. [URL Rewriting] Masquer les paramètres GET
    Par remyli dans le forum Apache
    Réponses: 8
    Dernier message: 12/03/2008, 17h50

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