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

Mise en page CSS Discussion :

PHP dans CSS qui utilise .htaccess


Sujet :

CSS

  1. #1
    Membre actif Avatar de dancom5
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55

    Informations forums :
    Inscription : Janvier 2010
    Messages : 808
    Points : 241
    Points
    241
    Par défaut PHP dans CSS qui utilise .htaccess
    Bonjour.

    Pourrait-on me dire pourquoi que ça ne fonctionne pas mon PHP dans le fichier style?

    Le fichier module est bien activé dans Apache pourtant.

    Si je mets mon url de l'image dans le style, l'image apparait.
    Mais pas quand je passe par la variable.

    Fichier /ptg/lib/css/style.css :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php $t='/ptg/lib/images/home_fond.png'; ?>
     
    body:lang(fr) {
      background: white url('<?php echo $t; ?>') no-repeat center center fixed; 
      }
    Fichier /ptg/.htaccess :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Options +FollowSymLinks
    RewriteEngine on
    RewriteRule ^([a-zA-Z]*)/?([a-zA-Z]*)?/?([a-zA-Z0-9]*)?/?$ index.php?controller=$1&action=$2&id=$3 [NC,L]
     
    RewriteRule ^/ptg/lib/css/(.*).css /ptg/lib/css/1$.php
    Fichier /ptg/view/maintemplate.php :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <link rel="stylesheet" type="text/css" href="/ptg/lib/css/styles.css"/>

    Note: Il s'agit d'un problème sur le style alors je poste ici après avoir effectuer une recherche pour savoir où poster.

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 887
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 887
    Points : 16 320
    Points
    16 320
    Par défaut
    Est-ce que l'URL de ton fichier est OK ? Il manque aussi le header PHP pour dire au serveur le type de fichier à traiter (content-type).

  3. #3
    Membre actif Avatar de dancom5
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55

    Informations forums :
    Inscription : Janvier 2010
    Messages : 808
    Points : 241
    Points
    241
    Par défaut
    Merci pour votre réponse,

    Le URL de l'image ainsi que celui du CSS sont correcte.
    C'est pour cela que j'ai indiqué le chemin des fichiers pour le démontrer.

    Selon les tutoriels que j'ai pu lire, quand nous utilisons des fichiers .PHP pour en guise de .CSS, nous devons ajouter dans le fichier .PHP, le header. Mais, quand on utilise le .CSS avec du PHP, il faut créer un .htaccess avec la commande qui redirigera le CSS vers PHP.

    Je crois bien interpréter pour le .htaccess.

    Le URL de mon image est bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://localhost/ptg/lib/images/home_fond.png
    Et mon fichier CSS le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /ptg/lib/css/styles.css

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    C'est pour cela que j'ai indiqué le chemin des fichiers pour le démontrer.
    Ca ne semble pas très démonstratif quand même...
    Fichier /ptg/lib/css/style.css
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^/ptg/lib/css/(.*).css /ptg/lib/css/1$.php
    Ton fichier devrait s'appeler style.php et non style.css...

    Sinon, que te dit la console de développement ? Les fichiers sont-ils trouvés ? Quel est le chemin de l'image au niveau du navigateur ?

  5. #5
    Membre actif Avatar de dancom5
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55

    Informations forums :
    Inscription : Janvier 2010
    Messages : 808
    Points : 241
    Points
    241
    Par défaut
    Ça fonctionne si je renomme mon .CSS en PHP
    en mettant le header(..)
    Mais, le rewriterule sert à rien, je l'ai enlevé.

    Mais, j'aurais aimé ne pas renommer mon fichier.

    Merci, mais si y a quelque chose, je vais suivre.

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Euh... tu raisonnes à l'envers...
    De toute façon, tu seras obligé d'avoir, côté serveur, un fichier .php puisqu'après rewriting, c'est celui-là qui est appelé.
    Ensuite, rien ne t'oblige à appeler un fichier .php dans la balise <link>, tu peux donc appeler ton .css et laisser faire le rewrite.

    Sinon, tu peux aussi indiquer à ton serveur que les fichiers .css doivent être parsés par PHP et dans ce cas, plus besoin de rewriting ni de .php.

  7. #7
    Membre actif Avatar de dancom5
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55

    Informations forums :
    Inscription : Janvier 2010
    Messages : 808
    Points : 241
    Points
    241
    Par défaut
    1- J'ai renommé mon fichier .css en .php
    2- mon link appelle le .css
    3- et je vais mon rewrite

    c'est surement dans mon 3 le problème.

  8. #8
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 887
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 887
    Points : 16 320
    Points
    16 320
    Par défaut
    Citation Envoyé par dancom5 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^/ptg/lib/css/(.*).css /ptg/lib/css/1$.php
    Plutôt que 1$, ça devrait être $1 non ?

  9. #9
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Argh... j'avais même pas fait attention !

  10. #10
    Membre actif Avatar de dancom5
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55

    Informations forums :
    Inscription : Janvier 2010
    Messages : 808
    Points : 241
    Points
    241
    Par défaut
    Normalement, quand tu tappe le fichier dans le navigateur, ça devrait appeler styles.php quand tu tapes styles.css

    Le résultat que ça me donne:

    Je tappe ceci dans mon navigateur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://localhost/ptg/lib/css/styles.css
    ça me donne ceci en réponse 404:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /ptg/lib/css/lib/css/styles.php was not found on this server.
    quand j'ai ceci dans mon .htaccess :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteEngine on
    RewriteRule ^(.*)\.css$ http://localhost/ptg/lib/css/$1.php

  11. #11
    Membre actif Avatar de dancom5
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55

    Informations forums :
    Inscription : Janvier 2010
    Messages : 808
    Points : 241
    Points
    241
    Par défaut
    Solution trouvée:

    On nous conseille de mettre le header pour la cache mais dans mon cas, ça empêchait de rafraichir mon lien. J'ai enlevé et ça fonctionne.

    merci pour l'effort.

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

Discussions similaires

  1. Utilisation variable php dans du htaccess
    Par ignite dans le forum Langage
    Réponses: 1
    Dernier message: 14/06/2013, 11h09
  2. QML dans .qrc qui utilisent un QML hors .qrc ?
    Par Troudhyl dans le forum Qt Quick
    Réponses: 1
    Dernier message: 09/09/2011, 10h57
  3. [PHP 5.4] Qui utilise les traits?
    Par gene69 dans le forum Langage
    Réponses: 7
    Dernier message: 19/08/2011, 15h36
  4. Réponses: 2
    Dernier message: 28/05/2009, 14h44
  5. [MySQL] Php dans css
    Par stefanelle dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 24/04/2009, 17h42

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