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

Langage PHP Discussion :

URL Rewriting inverse


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de dark_vidor
    Homme Profil pro
    Élève
    Inscrit en
    Janvier 2005
    Messages
    321
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Élève

    Informations forums :
    Inscription : Janvier 2005
    Messages : 321
    Par défaut URL Rewriting inverse
    Bonjour,

    J'utilise l'url rewriting sur mon site, mais pour un de mes scripts j'aurais besoin d'avoir le lien d'origine.

    Existe t il une fonction inverse ou qui permette de reconstruire l'url avant la transformation ?

    J'ai regardé du coté des super globales, mais j'ai rien trouvé de concluant

    Merci

  2. #2
    Membre Expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Par défaut
    Ceci ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $url = $_SERVER['PHP_SELF'] . '?' . $_SERVER['QUERY_STRING'];

  3. #3
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2004
    Messages : 329
    Par défaut
    Citation Envoyé par ThomasR Voir le message
    Ceci ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $url = $_SERVER['PHP_SELF'] . '?' . $_SERVER['QUERY_STRING'];

    Non justement, QUERY_STRING renverra l'URL APRÈS rewriting...

    un phpinfo() montre facilement la réponse :

    Regarde du coté de REQUEST_URI :-)

  4. #4
    Membre Expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Par défaut
    Idem pour REQUEST_URI.

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2004
    Messages : 329
    Par défaut
    Pas chez moi...

    Je viens de refaire le test, avec comme .htaccess :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    RewriteEngine on
    RewriteRule ^(.*)$ index.php [QSA,L]
    et index.php :


    Si j'accède à l'url : http://localhost/blablabla/dsfs/SDF/DF/GDF/GDF/G/

    J'obtiens bien "/blablabla/dsfs/SDF/DF/GDF/GDF/G/" pour REQUEST_URI. Par contre QUERY_STRING indique "no value"

  6. #6
    Membre Expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Par défaut
    C'est bien ce que je dis, REQUEST_URI renvoie l'URL réécrite, QUERY_STRING renvoie l'URL paramétré.

    Dans ta règle de réécriture tu n'utilises aucun paramètre, donc forcément QUERY_STRING n'a pas de valeur et $url sera égal à index.php, çà n'a aucun intérêt par rapport au sujet.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
    request : /blabla/blibli
    $url : index.php?q=/blabla/blibli
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^article-([0-9]+)$ index.php?type=article&id=$1 [L,QSA]
    request : /article-12
    $url : index.php?type=article&id=12

    Donc ceci fonctionne bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $url = $_SERVER['PHP_SELF'] . '?' . $_SERVER['QUERY_STRING'];

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

Discussions similaires

  1. [URL rewriting] Inversion de 2 variables
    Par Ennicolem dans le forum Apache
    Réponses: 4
    Dernier message: 29/01/2011, 16h36
  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