Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Serveurs (Apache, IIS,...) > Apache
Apache Forum d'entraide Apache. Avant de poster : Cours Apache, FAQ Apache
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/05/2011, 14h14   #1
Invité régulier
 
Ripoll Thomas
Inscription : novembre 2009
Messages : 35
Détails du profil
Informations personnelles :
Nom : Ripoll Thomas

Informations forums :
Inscription : novembre 2009
Messages : 35
Points : 7
Points : 7
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 :
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 :
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.
Pitrivief est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2011, 21h39   #2
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 283
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 283
Points : 8 569
Points : 8 569
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.
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/05/2011, 09h39   #3
Invité régulier
 
Ripoll Thomas
Inscription : novembre 2009
Messages : 35
Détails du profil
Informations personnelles :
Nom : Ripoll Thomas

Informations forums :
Inscription : novembre 2009
Messages : 35
Points : 7
Points : 7
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 :
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 :
1
2
3
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d
merci d'avance
Pitrivief est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/05/2011, 22h08   #4
Rédacteur/Modérateur
 
Avatar de _Mac_
 
Inscription : août 2005
Messages : 8 283
Détails du profil
Informations forums :
Inscription : août 2005
Messages : 8 283
Points : 8 569
Points : 8 569
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.
__________________

Du détail, du détail, du détail !!!
Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute
_Mac_ est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h42.


 
 
 
 
Partenaires

Hébergement Web