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] Non prise en charge des fichiers css et js


Sujet :

Apache

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 57
    Points : 48
    Points
    48
    Par défaut [URL Rewriting] Non prise en charge des fichiers css et js
    Bonjour à tous.

    Je viens ici pour tenter de trouver une réponse à un petit soucis dont j'ai du mal à me débarasser.

    Je viens de créer dans un .htaccess une petite série de règles de rewriting. Voici mon fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    # Enable the rewriting engine
    RewriteEngine on
     
     
    # Conditions
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_URI} !(.css)$
    RewriteCond %{REQUEST_URI} !(.js)$
     
    # Rewrite all requests to our index.php (engine)
    RewriteRule ^(.*)$ index.php [L]
    En gros, je cherche à rediriger toutes les pages vers index.php qui contient un appel à mon moteur de site pour générer le rendu. Le comportement final est bien celui auquel je m'attend.

    Exemple:

    Si je me rend aux adresses 'site.com/', 'site.com/go', 'site.com/go/Acceuil', les URLs restent tels quelles dans le navigateur et je suis bien redirigé dans mon code sur la page /index.php.

    Le problème vient lors des inclusions de fichier .css, .js, etc ... Si j'essaye d'inclure '/images/test.css'. Dans le cas de :

    - 'site.com' => Ok ! L'inclusion se fait bien.
    - 'site.com/go' = > Ok ! L'inclusion se fait bien.
    - 'site.com/go/Acceuil' = > L'inclusion ne se fait pas.
    - Si je monte en hierarchie ça ne marche pas non plus.

    Est ce que quelqu'un à une solution à me proposer ? Est-il possible de forcer ses inclusions depuis la racine ? Je suppose qu'il est possible de gérer cela coté Apache sans devoir gérer sa dans mon code.

    Merci pour votre aide

  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
    Points : 12 977
    Points
    12 977
    Par défaut
    Citation Envoyé par malves Voir le message
    Si j'essaye d'inclure '/images/test.css'
    C'est vraiment cette URL que tu mets dans toutes tes pages ? Dans ce cas, vu que c'est une URL relative à la racine du site, ça devrait fonctionner pour toutes les pages. Regarde dans les logs d'Apache (access_log et error_log) quelle requête est faite par le navigateur pour les CSS.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 57
    Points : 48
    Points
    48
    Par défaut
    Salut et merci pour ta réponse !

    Oui je suis certain du chemain mais je développe le site dans le répertoire site.com/dev.

    J'aimerai faire comprendre à Apache que la racine de mon site est /dev et non /.

    J'ai testé "RewriteBase /dev" mais ca ne marche pas ...

    Quelqu'un a une idée ?

    Merci

  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
    Points : 12 977
    Points
    12 977
    Par défaut
    Citation Envoyé par malves Voir le message
    J'ai testé "RewriteBase /dev" mais ca ne marche pas ...
    C'est pas grave tant que tu ne codes pas les /dev.

    Sinon, essaie de retirer les parenthèses dans tes RewriteCond, on ne sait jamais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteCond %{REQUEST_URI} !\.css$
    RewriteCond %{REQUEST_URI} !\.js$

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/12/2009, 20h45
  2. desactiver la prise en charge des fichiers l'autorun
    Par alassanediakite dans le forum Windows XP
    Réponses: 2
    Dernier message: 02/10/2008, 18h06
  3. Réponses: 1
    Dernier message: 22/04/2008, 18h49
  4. Réponses: 12
    Dernier message: 04/04/2008, 17h24
  5. Réponses: 5
    Dernier message: 23/05/2007, 18h48

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