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

EDI, CMS, Outils, Scripts et API PHP Discussion :

URL rewritting et liens relatif ?


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 012
    Points : 23 145
    Points
    23 145
    Par défaut URL rewritting et liens relatif ?
    Bonjour,

    Actuellement je veux transformer une URL :
    base_path/(en|fr)/suite en base_path/index.php?lang=(fr|en)&page=suite

    Pour ce faire, j'ai crée un .htaccess mis dans le dossier base_path (de mémoire) :
    # erreur 404 -> index.php?page=404

    RewritingRules (en|fr)/(.*) index.php?lang=$1&page=$2
    Mais tout les liens relatifs PHP et HTML sont brisés ce qui est à la fois compréhensible et incohérent.

    Compréhensible pour le HTML car la redirection n'est pas indiquée au client.
    Mais incohérent car ce n'est pas à la page de destination de savoir qu'elle est la cible d'une redirection .

    Pour corriger cela on pourrait alors mettre des liens absolu au lieu de lien relatif... mais cela n'est pas vraiment une solution "propre".
    Une autre solution serait d'utiliser une variable php $base_path qu'on préfixerait devant chaque chemin en php et qu'on donnerait à l'HTML grâce à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <head>
    	<base href="<?php echo $base_path; ?>">
    	</head>
    Mais je me demandais si vous connaîtriez une solution plus "propre".

    J'ai tenté de faire une redirection : (en|fr)/(en|fr) -> $2
    Et un URL rewriting : (.*)/(images|js|...) -> $2

    Mais il me semble que la redirection est effectuée avant l'url rewriting.
    De plus, je travaille avec WAMP & Google Chrome et certaines règles de redirections/rewriting reste actif même après les avoir supprimé du htaccess, redémarré les services WAMP & Chrome, ce qui me gène un peu pour tester .

  2. #2
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 012
    Points : 23 145
    Points
    23 145
    Par défaut
    Bonjour,

    Un simple base href en HTML placé juste après la balise <head> suffit.
    Apparemment, je n'ai pas de problèmes avec les liens relatifs PHP, j'ai du me tromper/m'embrouiller hier.

    Donc apparemment il devrait être presque obligatoire de mettre la balise base href dans chaque fichier html au-cas où on effectue un url rewriting (ce qu'un fichier html n'est pas censé savoir) ?

    EDIT : pour avoir automatiquement l'url du fichier en php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $base_path = dirname($_SERVER['SERVER_PROTOCOL']) . "://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
     
    // $_SERVER['REQUEST_URI'] => url avant rewritting

Discussions similaires

  1. Url rewriting et lien CSS
    Par totofe49 dans le forum Langage
    Réponses: 4
    Dernier message: 12/09/2011, 11h31
  2. URL rewrite Problème lien relatif/absolut
    Par sora570 dans le forum Apache
    Réponses: 1
    Dernier message: 18/11/2010, 21h11
  3. [URL rewriting] Pb lien vers répertoire
    Par jerem_orga dans le forum Apache
    Réponses: 1
    Dernier message: 14/09/2010, 01h04
  4. URL rewriting et liens internes
    Par Stéph utilisateur d'acces dans le forum Apache
    Réponses: 10
    Dernier message: 21/10/2009, 20h26
  5. URL Rewriting et chemins relatifs
    Par RuiLouis dans le forum Langage
    Réponses: 1
    Dernier message: 06/02/2008, 23h16

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