Multiples htaccess et RewriteRule avec fichier centralisé à la racine

Discussion dans 'URL Rewriting et .htaccess' créé par lecer, 19 Avril 2014.

Tags:
  1. lecer
    lecer Nouveau WRInaute
    Inscrit:
    14 Décembre 2011
    Messages:
    21
    J'aime reçus:
    0
    Bonjour,

    j'ai un watermark qui fonctionne bien et qui est appelé par htaccess et rewriterule :

    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule ^([^tn].*\.(gif|jpg|png|jpeg))$ watermark.php?image=$1 [NC]

    mais je suis obligé de mettre un fichier watermark.php dans chaque répertoire et sous-répertoire (idem pour le htaccess) et j'essaie d'optimiser un peu ...

    Je voudrais n'avoir qu'un fichier watermark à la racine mais en essayant
    RewriteRule ^([^tn].*\.(gif|jpg|png|jpeg))$ /chemin/watermark.php?image=$1 [NC]
    le watermark.php semble bien se lancer mais je n'ai plus l'image.

    Voici comment se termine le watermark.php

    header("Content-type:image/jpeg");
    watermark($_GET['image']);

    Est-ce que ce que j'essaie de faire est réalisable svp et su oui ... par avance merci pour le p'tit coup de pouce
     
  2. Marie-Aude
    Marie-Aude WRInaute accro
    Inscrit:
    5 Juin 2006
    Messages:
    16 370
    J'aime reçus:
    2
    Comment est défini ton rewrite bas ?
     
  3. lecer
    lecer Nouveau WRInaute
    Inscrit:
    14 Décembre 2011
    Messages:
    21
    J'aime reçus:
    0
    Bon, ça se complique ...
    En fait ça fonctionne très bien ! mais pas sur toutes mes images (et jusqu'à présent évidement je testais sur une qui refuse de fonctionner ..)
    Le hic c'est qu'une image peut être correctement watermarkée mais pas une autre alors qu'elles seront du même type et extension jpeg, même longeur de nom (32 car + extension + chemin) et même, de même dimension 270px x 270px !

    exemple :
    934ab6c0633c211c59bd212cde17437c/3433/thumb270x270/14a119e5f614bac904be547d18f59cee.jpg >> NOK
    934ab6c0633c211c59bd212cde17437c/3434/thumb270x270/e9eee7ce621393f355a9fed14df33e0b.jpg >> OK

    Dans le watermark.php, j'ai fais un petit debug maison (si entrée dans watermark.php, j'écris dans un fichier texte)

    $flux_debug = fopen('/chemin/cache/000debug.txt', 'w');
    $date=date("Y-m-d H:i:s");
    fputs($flux_debug, $date . ' >> DEBUG watermark sur fichier :');
    fputs($flux_debug, $original_image);
    fwrite($flux_debug,' >> Le fichier est traité');

    et bah, sur les images qui refusent d'être watermarkées, effectivement le fichier txt reste vide ... le rewriterule du htaccess semble sans effet sur ces images.

    j'ai tenté
    RewriteRule ^(.*.(jpg|jpeg|gif|png|bmp))$ watermark.php?image=$1 [NC]
    à la place de
    RewriteRule ^([^tn].*\.(gif|jpg|png|jpeg))$ watermark.php?image=$1 [NC]

    mais idem ... d'ailleurs à quoi servait le [^tn] ? et qu'entends-tu rewrite bas ?
     
  4. Marie-Aude
    Marie-Aude WRInaute accro
    Inscrit:
    5 Juin 2006
    Messages:
    16 370
    J'aime reçus:
    2
    rewrite base, pardon
     
  5. bossboss
    bossboss WRInaute occasionnel
    Inscrit:
    28 Août 2004
    Messages:
    340
    J'aime reçus:
    0
    ??? si on avait eu [tn] sans le ^ on aurait pu penser que tes images originale commençait par soit la lettre t soit la lettre n
     
  6. lecer
    lecer Nouveau WRInaute
    Inscrit:
    14 Décembre 2011
    Messages:
    21
    J'aime reçus:
    0
    à la racine j'ai un htaccess avec RewriteBase / mais il est commenté # et un autr htacess donc plus haut dans l'arborescence qui contient les sous-répertoires de mes images à watermarker.
    ce qui est dingue, c'est que ça fonctionne pour plein d'images mais pas pour certaines.
    même longueur de chemin (249 car), même type, même extension et j'ai vérifié aussi, même droits.
    Je me demande si ce ne sont pas certaines protections du htaccess à la racine qui posent problème :

    # Block out any script trying to set a mosConfig value through the URL
    RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
    # Block out any script trying to base64_encode data within the URL
    RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
    # Block out any script that includes a <script> tag in URL
    RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
    # Block out any script trying to set a PHP GLOBALS variable via URL
    RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
    # Block out any script trying to modify a _REQUEST variable via URL
    RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
    # Return 403 Forbidden header and show the content of the root homepage
    RewriteRule .* index.php [F]

    pour rappel :
    934ab6c0633c211c59bd212cde17437c/3434/thumb270x270/e9eee7ce621393f355a9fed14df33e0b.jpg >> OK
    934ab6c0633c211c59bd212cde17437c/3433/thumb270x270/14a119e5f614bac904be547d18f59cee.jpg >> NOK
    934ab6c0633c211c59bd212cde17437c/3887/thumb270x270/2fd7f362faa183bee008f4bda81af664.jpg >> NOK
     
  7. lecer
    lecer Nouveau WRInaute
    Inscrit:
    14 Décembre 2011
    Messages:
    21
    J'aime reçus:
    0
    Bon,
    J'ai trouvé !!!

    Dans le htaccess à la racine, c'était

    RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]

    dans

    # Block out any script trying to set a mosConfig value through the URL
    RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
    # Block out any script trying to base64_encode data within the URL
    RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
    # Block out any script that includes a <script> tag in URL
    RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
    # Block out any script trying to set a PHP GLOBALS variable via URL
    RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
    # Block out any script trying to modify a _REQUEST variable via URL
    RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
    # Return 403 Forbidden header and show the content of the root homepage
    RewriteRule .* index.php [F]

    est-ce que c'est améliorable, ou est-ce que je commente cette ligne et puis basta ?
     
Chargement...
Similar Threads - Multiples htaccess RewriteRule Forum Date
Pb mots de passe multiples avec htaccess Administration d'un site Web 27 Novembre 2012
Impact liens multiples vers la page contact dans un article Débuter en référencement 20 Novembre 2019
WordPress Peut-on éviter les redirections 301 multiples ? URL Rewriting et .htaccess 20 Mai 2019
Signature DKIM pour multiples serveurs d'envoi Gmail, Google Talk, Blogger et Orkut 15 Janvier 2019
URL multiples en / et // ou sans / Débuter en référencement 6 Novembre 2018
Multiples positions d'un même site dans SERP 1ère page Google ? Référencement Google 25 Octobre 2017
Multiples URL et seo Débuter en référencement 28 Juillet 2017
Noms de domaines multiples Référencement Google 18 Novembre 2016
Portail ou sites multiples Référencement Google 1 Juillet 2016
noms de domaines multiples Référencement Google 4 Février 2016
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice