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 rewrite + mkdir


Sujet :

Apache

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 35
    Par défaut url rewrite + mkdir
    Bonjour

    Je me casse les dents sur un problème d'url rewriting.
    Mon site possède un fichier htaccess qui redirige toutes pages vers mon fichier index a partir duquel je traite les urls pour en composer les pages correspondantes.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    RewriteEngine on
     
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
     
    RewriteRule ^(.*)$ index.php?page=$1 [QSA,L]
    J'ai également un système de cache sur mon site web qui me compose l'arborescence des pages de mon site dans le dossier cache, en extractant de l'url transmise le chemin vers le fichier nouvellement créé. Or lorsques j'execute le script, il me créer l'arborescence deja existante à partir de la racine avec le dossier images, le dossier javascript, ect...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    $page = $_GET['page'];
    $chemin = explode("/", $page);
    test($chemin);
     
    function test($arbo)
    {
         $chemin='';
                for($i=0; $i<count($arbo); $i++)
                {
                    echo "<br>".$arbo[$i]."<br>";
                    if ($i!=count($arbo)-1)
                    {
                        if (!is_dir("./cache/".$chemin."/".$arbo[$i]))mkdir("./cache/".$chemin."/".$arbo[$i]);
                    }
                    else                    
                        $nomFichier=$arbo[$i];
     
                }
    }
    Je soupçonne le htaccess de rediriger les url de mes images, et fichier javascript, alors que les deux conditions déclarées dans le htaccess, indiquent de ne rien faire si les url sont existantes.

    j'espère avoir été clair, merci d'avance pour vos réponses.

  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
    Tu ne peux rien faire côté URL rewriting. Il faut que tu utilises $_SERVER["DOCUMENT_ROOT"] pour construire des chemins absolus vers tes fichiers de cache et répertoire pour être tranquille et t'affranchir d'un calcul plus ou moins compliqué des chemins relatifs.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 35
    Par défaut
    Alors déjà merci pour ta réponse.

    Mais je crois que j'ai mal formulé mon problème.
    Ce que je ne veux pas c'est que mon script me créé les répertoires images, javascript, ect...

    Je reformule.

    le shema de mes url se compose de la manière suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    www.monSite.com/répertoireCrééParLeScript/pageCrééParLeScript
    Ma page index.php récupère cette url, redirigée par htaccess, en extrait la fin et vérifie si cette page existe dans le cache.

    Si ce n'est pas le cas, Le script entame la création de l'arborescence dans le dossier cache.

    Le problème c'est que lorsque le navigateur demande une image ou un script, j'ai l'impression que le script est appelé (c'est même une certitude) et il me créer un répertoire dans le dossier cache correspondant au chemin de l'adresse du fichier.

    Si l'adresse du fichier est absolue, le script me créé ce répertoire à la racine du répertoire cache, et si elle est relative, il me le créé dans le répertoire initialement indiqué par l'url lors de la première requète.

    Tout ceci ne devrait pas arriver (et je ne veux pas que ça se produise) puisque le htaccess est sensé bloqué la redirection vers le fichier index si le chemin de l'url indiqué est existant sur le site, grace au deux conditions établie au début du htaccess.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d
    merci d'avance

  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
    Si le script index.php est appelé pour des images, CSS, etc. c'est que les URL de ces images, CSS, etc. ne sont pas les URL réelles ou "physiques". Pour moi, le problème vient du code HTML des pages et donc de la moulinette qui crée ce code et qui ne calcule pas les bonnes URL des images, CSS, etc.

Discussions similaires

  1. [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
  2. url rewriting
    Par olive.m dans le forum Apache
    Réponses: 3
    Dernier message: 17/06/2005, 02h01
  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