Visualizzazione risultati 1 fino 1 di 1

Discussione: [Htaccess] redirect per immagini ad un'altra directory

  1. #1
    L'avatar di darkwolf
    darkwolf non è connesso Super Moderatore
    Data registrazione
    18-04-2007
    Residenza
    Reggiolo (RE)
    Messaggi
    6,552

    Predefinito [Htaccess] redirect per immagini ad un'altra directory

    Salve raga!
    L'aggiornamento di tinyportal purtroppo non ha risolto tutti i suoi bug.
    Molti me li sono fixati da me ma ne rimane uno, riguardante l'area download, che mi riempie sempre il log errori.
    Praticamente, navigando la sezione download del sito, nelle categorie, si dovrebbero vedere gli screenshots delle immagini ma funziona solo nelle categorie principali e non nelle sotto categorie.
    L'errore è questo:
    Codice:
    Applica Filtro: Mostra solo i messaggi di errore di questo URL  http://darkwolf.altervista.org/forum...error;code=404
    Applica Filtro: Mostra solo gli errori con lo stesso Messaggio
    Error 404 - Not Found (http://darkwolf.altervista.org/forum...Theme_osxp.jpg)
    File: user
    Praticamente cerca l'immagine in:
    Codice:
    http://darkwolf.altervista.org/forum/tpmod/1235005850Theme_firefox.jpg
    (inesistente in questo percorso)
    invece che cercarla in:
    Codice:
    http://darkwolf.altervista.org/forum/tp-images/dlmanager/thumb/1235005850Theme_firefox.jpg
    Mi chiedevo se potevate aiutarmi a fixare questo bug tramite un htaccess (png; gif e jpg) :)
    Grazie, DarkWolf
    -
    (Ho segnalato a tinyportal in attesa di una patch al codice) :)


    ---
    Ho provato diversi htaccess ma nessuno che funzioni (suppongo a causa di pretty-url che prende priorità sul resto).
    Stavo quindi pensando che potrei risolvere facilmente creando un sim-link /forum/tpmod/ @ /forum/tp-images/dlmanager/thumb/ ma non sono sicuro che qui su AV siano concessi
    ---
    Riedit: ho trovato il "pezzo di codice" interessato:
    Codice PHP:
    $count=1;
    if(!empty(
    $context['TPortal']['dl_last_added']))
    {
    foreach(
    $context['TPortal']['dl_last_added'] as $last)
    {
    echo
    '
    <div class="dl_last_added windowbg" style="overflow: hidden;">
    '
    , !empty($last['screenshot']) ? '<div style="margin-right: 5px; background: url('.$last['screenshot'].') no-repeat; float: right; width: '.$context['TPortal']['dl_screenshotsize'][0].'px; height: '.$context['TPortal']['dl_screenshotsize'][1].'px;" class="windowbg3"></div>' : '' , '
    <div class="body" style="padding-left: 5px; margin-right: '
    . ($context['TPortal']['dl_screenshotsize'][0] + 15) .'px;">
    <h3><a href="'
    .$last['href'].'">'.$last['name'].'</a></h3>
    '
    , !empty($last['text']) ? '<p class="middletext">'.$last['text'].'</p>' : '' , '
    <p class="smalltext dl_details"><img src="'
    .$settings['tp_images_url'].'/glyph_author.png" alt="*" /> '.$last['author'].' <img src="'.$settings['tp_images_url'].'/glyph_down.png" alt="*" /> '.$last['downloads'].' <img src="'.$settings['tp_images_url'].'/glyph_date.png" alt="*" /> '.$last['date'].'</p>
    </div>
    </div>'
    ;
    }
    }
    Più precisamente: url('.$last['screenshot'].') il quale a volte genera l'url corretto (sito/directory_immagine/nome.jpg) altre volte solo il nome dell'immagine (nome.jpg).
    Magari facendo un controllo su questo valore potrei forzare l'url assoluto?
    -
    Se cambio url('.$last['screenshot'].') in url('.$boardurl.'/tp-images/dlmanager/thumb/'.$last['screenshot'].') riparo i link "danneggiati" ma danneggio quelli adesso corretti ottenendo questo risultato:
    Codice:
    http://darkwolf.altervista.org/forum/tp-images/dlmanager/thumb/http://darkwolf.altervista.org/forum/tp-images/dlmanager/thumb/1243036740Preview.jpg
    -
    Penso che con un *_replace potrei rimediare vero?

    ---
    Ho rimediato con una cosa simile:
    Codice PHP:
    $count=1;
    if(!empty(
    $context['TPortal']['dl_last_added']))
    {
    foreach(
    $context['TPortal']['dl_last_added'] as $last)
    {
    $screenlink = $last['screenshot'];
    $findlink = '/tp-images/dlmanager/thumb/';
    $pos = strpos($screenlink, $findlink);
    if (
    $pos === false) {
    $directoryth = ''.$boardurl.''.$findlink.'';
    } else {
    $directoryth = '';}
    echo
    '
    <div class="dl_last_added windowbg" style="overflow: hidden;">
    '
    , !empty($last['screenshot']) ? '<div style="margin-right: 5px; background: url('.$directoryth.''.$last['screenshot'].') no-repeat; float: right; width: '.$context['TPortal']['dl_screenshotsize'][0].'px; height: '.$context['TPortal']['dl_screenshotsize'][1].'px;" class="windowbg3"></div>' : '' , '
    <div class="body" style="padding-left: 5px; margin-right: '
    . ($context['TPortal']['dl_screenshotsize'][0] + 15) .'px;">
    <h3><a href="'
    .$last['href'].'">'.$last['name'].'</a></h3>
    '
    , !empty($last['text']) ? '<p class="middletext">'.$last['text'].'</p>' : '' , '
    <p class="smalltext dl_details"><img src="'
    .$settings['tp_images_url'].'/glyph_author.png" alt="*" /> '.$last['author'].' <img src="'.$settings['tp_images_url'].'/glyph_down.png" alt="*" /> '.$last['downloads'].' <img src="'.$settings['tp_images_url'].'/glyph_date.png" alt="*" /> '.$last['date'].'</p>
    </div>
    </div>'
    ;
    }
    }
    probabilmente si può fare di meglio comunque funziona bene
    Ultima modifica di darkwolf : 01-06-2009 alle ore 15.34.59 Motivo: Risolto :)
    » Salvatore Noschese - L'AltroWeb | Seguimi su: facebook | twitter | Google+
    # Che aspetti? Unisciti alla community! Tanti nuovi gruppi ti aspettano


Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •