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 :

[.htaccess] feuilles de style disparue


Sujet :

Apache

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 13
    Par défaut [.htaccess] feuilles de style disparue
    Bonjour,

    Avant tout, je tiens à dire que j'ai effectué une recherche sur le forum avant de poster ce sujet. Seulement, après une vingtaine de posts, j'ai pu me rendre compte que les solutions se répétaient.. Mais ne marchaient guère pour mon cas.

    Voici donc mon .htaccess :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Options +FollowSymLinks
     
    RewriteEngine on
     
    RewriteRule ([a-z]+)/? index.php?page=$1 [QSA,NC]
    RewriteRule ([a-z]+)/([a-z]+)/? index.php?page=$1&section=$2 [QSA,NC]
    RewriteRule ([a-z]+)/([a-z]+)/([a-z]+)/? index.php?page=$1&section=$2&subsection=$3 [QSA,NC]
    J'ai bien essayé de mettre des RewriteCond que j'ai pu lire dans certaines réponses à d'autres posts, mais rien n'y fait.

    Et j'ai bien mis ceci dans le code HTML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <link rel="stylesheet" type="text/css" href="/css/style.css" />
    Le problème est donc que la feuille de style n'est plus appliquée (même si je tape l'url de base http://localhost:8888/gael/). Et je sens que ce sera le même problème pour les images par la suite.

    Voilà.. Une petite aide serait appréciée !
    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
    Par défaut
    C'est tout simplement qu'en fait tes règles matchent également l'URL de ton fichier CSS, par exemple la premère car en effet http://localhost:8888/css/style.css contient bien une série de lettre suivie d'un / ou non ("css/" notamment). Il faut donc que tu précise davantage tes règles (par exemple ([a-z]+)/?$) ou que tu mettes des RewriteCond pour éliminer les .css, .js, .jpg, etc. de tes réécritures.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 13
    Par défaut
    HAN !

    C'était bien ça.
    En fait, ^et $ désignent respectivement le début et la fin du dernier token après le dernier / ?
    Ex: http://localhost/salut/ca/va.html

    Cependant, il persiste quelques problèmes.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^([a-z]+)/?$ index.php?page=$1 [QSA,NC]
    Fonctionne avec "home" de fin mais pas avec "home/" pour
    Ne fonctionne ni avec "home", ni avec "home/" pour
    Il me faudrait une bonne litterature. Par ailleurs, je suis assez étonné de ne pas avoir trouvé une seule référence anglophone/francophone pour une bonne gestion de l'URL-rewriting avec slash

  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
    Il faut conserver href="/css/style.css", c'est une certitude.

    Après, désolé mais je n'ai pas compris le problème : si j'ai un .htaccess avec seulement ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Options +FollowSymLinks
     
    RewriteEngine on
     
    RewriteRule ^([a-z]+)/?$ index.php?page=$1 [QSA,NC]
    et index.php avec ceci :
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <html>
    <head>
    <link rel="stylesheet" href="/css/style.css" type="text/css">
    </head>
    <body>
    <p>Hoho!!</p>
    <pre><?php print_r($_GET); ?></pre>
    </body>
    </html>
    mon fichier CSS (qui met <p> en rouge) fonctionne bien avec http://localhost/home et http://localhost/home/. Mais évidemment, si je rajoute les 2 règles suivantes sans mettre le $ qui indique la fin de la chaîne, ça ne marche pas. Pour avoir un jeu de 3 règles qui fonctionnent avec les CSS, il faut mettre le $ partout :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Options +FollowSymLinks
    
    RewriteEngine on
    
    RewriteRule ^([a-z]+)/?$ index.php?page=$1 [QSA,NC]
    RewriteRule ([a-z]+)/([a-z]+)/?$ index.php?page=$1&section=$2 [QSA,NC]
    RewriteRule ([a-z]+)/([a-z]+)/([a-z]+)/?$ index.php?page=$1&section=$2&subsection=$3 [QSA,NC]

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 13
    Par défaut
    J'ai du utiliser le tag <base> pour que la feuille de style fonctionne correctement sans devoir mettre des chemins absolu (ce qui aurait été gênant pour les images, etc.).

    Je m'attarderais plus tard sur ce .htaccess.

    Merci pour l'aide

  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
    Citation Envoyé par bdcstr Voir le message
    J'ai du utiliser le tag <base> pour que la feuille de style fonctionne correctement sans devoir mettre des chemins absolu (ce qui aurait été gênant pour les images, etc.).
    Effectivement, c'est l'autre très bonne alternative

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

Discussions similaires

  1. [CR 10] Utiliser des feuilles de style
    Par Giovanny Temgoua dans le forum SAP Crystal Reports
    Réponses: 2
    Dernier message: 04/04/2005, 10h36
  2. Feuille de style avec XML (pour expert !)
    Par jer_the_one dans le forum Composants VCL
    Réponses: 8
    Dernier message: 11/08/2004, 08h48
  3. MSXML2, enchainer deux feuilles de Style
    Par burno dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 10/09/2003, 13h47
  4. feuille de style generale
    Par Manu_Just dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 11/03/2003, 10h06
  5. Rattacher une feuille de style a un XML existant
    Par aour dans le forum XML/XSL et SOAP
    Réponses: 5
    Dernier message: 08/10/2002, 22h07

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