Problème dossier photo protégé + URLRewriting + ErrorDocument

Discussion dans 'URL Rewriting et .htaccess' créé par 0takon, 31 Octobre 2010.

  1. 0takon
    0takon Nouveau WRInaute
    Inscrit:
    31 Octobre 2010
    Messages:
    3
    J'aime reçus:
    0
    Bonjour à tous,

    Je me décide à demander de l'aide finalement car ça fait quelques heures que je bloque sur la syntaxe de mon .htaccess

    Alors voilà j'ai un site dont l'accès est sécurisé par Session php.
    J'ai voulu protéger un répertoire contenant des photos pour qu'on ne puisse pas afficher une photo avec l'url directe sans avoir de session ouverte. Pour cela pas de problème :
    J'ai un fichier index.php qui vérifie si l'utilisateur est loggé et qui renvoie la photo si oui.
    J'ai un fichier htaccess qui ne permet l'ouverture que du index.php?file=$ comme ceci :

    Code:
    RewriteEngine On 
    
    RewriteCond %{REQUEST_FILENAME} !index\.php$
    RewriteRule ^(.*)$ index.php?file=$1 [L]
    ErrorDocument 404 erreur.php
    
    Le résultat :
    L'acces à un fichier (existant) par l'URL : http://www.mon-site.com/repertoire/image.jpg
    > Renvoie une erreur 404 avec redirection de l'hébergeur (1&1) :(
    > Je voudrais bien-sûr qu'il pointe sur mon "erreur.php" mais au moins l'acces direct au fichier n'est pas permis :) (ce que je souhaitais)

    L'URL : http://www.mon-site.com/repertoire/index.php?file=image.jpg
    > Affiche l'image si utilisateur loggé / formulaire de log sinon :)

    En gros j'ai obtenu ce que je voulais mais je souhaiterais ajouter en prime :
    > La redirection des erreurs vers ma page d'erreur perso
    > Réécrire l'url type repertoire/index.php?file=mon_fichier.ext en /repertoire/mon_fichier.ext

    J'arrive à réécrire l'url quand je n'ai pas la ligne
    Code:
    RewriteRule ^(.*)$ index.php?file=$1 [L]
    mais mon système de protection ne fonctionne plus du tout.

    Est-ce que quelqu'un à une idée sur l'erreur que je commets ou possède un code proche de ce que je souhaite faire.

    Merci d'avance.
     
  2. forty
    forty WRInaute passionné
    Inscrit:
    30 Octobre 2008
    Messages:
    1 929
    J'aime reçus:
    0
    j'écrirais plutôt avec un l'url absolue de ton fichier erreur.php sinon il risque de chercher dans /repertoire pour une image /repertoire/uneimage.jpg :
    Code:
    ErrorDocument 404 /erreur.php
     
  3. 0takon
    0takon Nouveau WRInaute
    Inscrit:
    31 Octobre 2010
    Messages:
    3
    J'aime reçus:
    0
    Merci pour ta réponse forty.
    Alors en fait j'ai résolu le problème de la redirection 404 en plaçant un .htacess avec
    Code:
    ErrorDocument 404 /erreur.php
    dans le dossier racine de mon site.

    Par contre le problème principal que je posais était de réécrire l'url : /repertoire/index.php?file=mon_fichier.ext en un autre sans variable GET ?file. Du genre repertoire/mon_fichier.ext ou repertoire/fichier-mon_fichier.ext

    Je continue de chercher...

    Merci d'avance.
     
  4. forty
    forty WRInaute passionné
    Inscrit:
    30 Octobre 2008
    Messages:
    1 929
    J'aime reçus:
    0
    Si tu ne souhaites réécrire que pour une extension tu peux mettre par exemple :
    Code:
    RewriteEngine On
    RewriteRule ^repertoire/(.*)\.ext$ /repertoire/index.php?file=$1.ext [L]
     
  5. 0takon
    0takon Nouveau WRInaute
    Inscrit:
    31 Octobre 2010
    Messages:
    3
    J'aime reçus:
    0
    D'accord oui mais justement l'objet de ce post, c'est que la réécriture ne semble pas fonctionner.
    Peut importe la règle j'ai toujours l'url : repertoire/index.php?file=mon_fichier.ext
    JE rappelle qu'il y a un htacess dans le répertoire racine pour l'erreur 404
    et une autre dans le répertoire "repertoire" avec ce code :
    Code:
    RewriteEngine On 
    
    RewriteCond %{REQUEST_FILENAME} !index\.php$
    RewriteRule ^(.*)$ index.php?file=$1 [L]
    
    Mon but est de réécrire l'url de /repertoire/index.php?file=mon_fichier.ext en /repertoire/mon_fichier.ext

    Le schéma c'est :

    Accès à : /repertoire/mon_fichier.ext
    \/
    Renvoi à /repertoire/index.php?file=mon_fichier.ext pour tester la session PHP

    Voyez-vous un souci avec le code ci-dessus ?
    Merci.
     
Chargement...
Similar Threads - Problème dossier photo Forum Date
Problème Fille zilla et dossiers Wordpress ! Développement d'un site Web ou d'une appli mobile 20 Décembre 2017
Problemé de référencement racine vs sous-dossier Noms de domaine et référencement 7 Juin 2013
Problème réécriture et sous-dossiers URL Rewriting et .htaccess 3 Janvier 2012
Apache - Problème authentification dossier hors DocumentRoot Administration d'un site Web 26 Mai 2011
Problème d'URL rewriting en dossier Développement d'un site Web ou d'une appli mobile 28 Juillet 2009
Problème URL Rewriting complexe avec les dossiers rééls et les autres chemins [Résolu] URL Rewriting et .htaccess 16 Juin 2009
Problème sur les redirections de pages profondes URL Rewriting et .htaccess Mercredi à 13:53
Problème de référencement et ajout sitemaps Problèmes de référencement spécifiques à vos sites 26 Novembre 2019
Problème affichage des derniers articles wordpress page accueil Administration d'un site Web 20 Novembre 2019
Gestion de cookies problème directives CNIL. Administration d'un site Web 15 Novembre 2019
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice