• User

    Redirect Images da aspx a Joomla

    Ciao a tutti,
    ho fatto una migrazione con successo da piattaforma aspx a Joomla per un sito di annunci sex che gestisco.
    Non ci sono stati 404 legati alle pagine di annuncio, grazie a regole di redirect e singoli 301 impostati per bene.
    Mi ritrovo ora un problema per quanto riguarda le immagini, dato che nel sito in aspx erano presenti in questa forma:

    /classes/copertina.aspx?img=4265&k=big

    e ora appaiono inserite dentro al componente ads manager di Joomla in quest'altra forma:

    **/images/com_adsmanager/ads/4265_t.jpg

    **Insomma, non c'è un filo conduttore per poter impostare una regola lato htaccess. O perlomeno non ne vengo a capo! :arrabbiato:

    Dato che WMT mi sta buttando fuori in questi giorni un sacco di 404 legati alle immagini del sito in aspx, vorrei capire se c'è una best practice per situazioni di questo tipo, considerando che le img del sito in aspx erano circa 10k e non è ovviamente pensabile un lavoro di singoli 301.

    Posso fare una regola di rewrite connessa alla cartella /classes/. Ma a dove la faccio puntare?

    Se potete indicarmi un consiglio sul puntamento del redirect, sarebbe ottimo!

    Grazie GT! :ciauz:


  • Admin

    Da quello che vedo se hai mantenuto l'id all'interno di img= nel nome file puoi controllare che il QUERY_STRING img ci sia prenderne il valore e fare redirect in automatico per tutte le URL simili verso rispettivo file jpg.


  • User

    Grazie dell'interesse e complimenti per la risposta! 😉

    Ok, ti ho segnalato un esempio abbastanza esplicativo.
    Considera però che nella maggior parte dei casi non c'è una corrispondenza così netta tra immagini vecchio sito e jpg. del sito in Joomla.

    Oltretutto, le immagini in un sito del genere sono infinite e i parametri img riscontrati da WMT sono circa 10 000. Un lavoraccio, insomma.

    Volendo ipotizzare una regola di rewrite massiva, a dove posso far puntare le vecchie immagini?

    Considera che nel sito nuovo avrò una sitemap di immagini, per cui i .jpg saranno indicizzati per bene.
    Può essere una soluzione quella di impostare una regola di rewrite massiva per la directory /classes/ del vecchio sito, in modo da azzerare i not found su WMT, e far reindicizzare da zero le immagini o vedi delle controindicazioni?

    Un lavoro SEO fatto di fino richiederebbe più ordine nel redirezionamento, e con le pagine il lavoro è stato fatto, ma volevo glissare con le immagini perché non abbiamo troppo budget per un'operazione che richiede così tanto tempo (vedi i 10k parametri img lato WMT di cui sopra).

    Grazie mille dell'interazione! Aspetto un feedback! :ciauz:


  • Admin

    In questo caso quello che ti conviene fare è controllare gli accessi che quelle pagine fanno utilizzando il tuo strumento di analitica e valutare di conseguenza.


  • User

    Ciao Juanin,

    volendo impostare una rewrite rule sulla query string img, puoi per caso aiutarmi nella sintassi?

    Le mie difficoltà sono essenzialmente due:

    • Dopo il parametro img c'è appeso &k=big (es.: **?img=4265&k=big).
      **- L'indirizzo di destinazione della rewrite rule contiene _t.jpg dopo il numerico (es.: 4265_t.jpg).

    da
    /classes/copertina.aspx?img=4265&k=big
    a
    /images/com_adsmanager/ads/4265_t.jpg

    Tosto! 😮


  • Admin

    Il k=big puoi ignorarlo se non è discriminante.

    Il resto basta che lo "matchi" con $X_t.jpg

    In questa discussione trovi parecchi riferimenti.


  • User

    Ciao Juanin,
    dopo un paio di settimane, mi ritrovo ancora sul progetto... e mi sono arenato!

    Riferito al caso di cui sopra, può essere azzeccata una regola htaccess come la seguente:

    RewriteEngine On
    RewriteCond %{REQUEST_URI} ^classes/copertina.aspx$
    RewriteCond %{QUERY_STRING} ^img=([0-9]+)$
    RewriteRule ^(.*)$ (NON SONO UTENTE PREMIUM).miosito.com/images/com_adsmanager/ads/$1_t.jpg [R=301,L]

    ????

    Grazie in anticipo per la risposta!
    Lo ammetto, con l'htaccess non dò il meglio di me... :arrabbiato:


  • Admin

    L'hai provata e non funziona?


  • User

    Sì, non gira.

    Proprio non prende il matching, non è che reindirizza male.

    Hai qualche suggerimento? 🙂


  • Admin

    Secondo me potresti togliere la prima riga e mettere il patch nella rewrite rule.

    Credo anche che tu non debba terminare il matching delle prime due regole con $.


  • User

    Niente... Sembra insensibile alle mie modifiche.

    Farò test quando ho più tempo da dedicare al progetto. Se hai altri suggerimenti, ti ringrazio molto.

    Ciao!


  • Admin

    Mi incolli cosa hai messo?

    Il mod_rewrite è attivo? L'overrhide tramite .htaccess è attivo?


  • User

    Ciao,
    visto che la perseveranza non mi manca :quote:, mi ritrovo anche oggi a fare tentativi con l'htaccess per il rewrite delle immagini del sito.
    Dopo vari tentativi, sono arrivato a scrivere la seguente regola:

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{QUERY_STRING} ^img=([0-9]+)
    RewriteRule ^classes/copertina.aspx$ (NON SONO ANCORA UTENTE PREMIUM).com/images/com_adsmanager/ads/$1_t.jpg [L,R=301]
    </IfModule>

    La regola ora gira solo che appende
    ?img=1234&k=big
    dopo l'URL riscritto (NON SONO ANCORA UTENTE PREMIUM).com/images/com_adsmanager/ads/$1_t.jpg,
    mentre io voglio che appare qualcosa del tipo (NON SONO ANCORA UTENTE PREMIUM).com/images/com_adsmanager/ads/1234_t.jpg

    In pratica prendo il rewrite, ma non riesco a matchare il parametro numerico dell'immagine e a inserirlo prima di _t.jpg.

    Puoi per caso verificare? Ciao!


  • Admin

    Prova con %1 invece di $1


  • User

    Cavoli, gira tutto.
    Ottimo...
    Grazie.

    Spero che il mio thread sia stato formativo!
    Ciao! 🙂


  • Admin

    Speriamo sì 😄

    Magari incolla la regola finale che hai messo.


  • User

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{QUERY_STRING} ^img=([0-9]+)
    RewriteRule ^classes/copertina.aspx$ (NON SONO ANCORA UTENTE PREMIUM).com/images/com_adsmanager/ads/%1_t.jpg? [L,R=301]
    </IfModule>