• User

    Ottimizzare le Rewrite Rules

    Salve,

    sto cercando di mettere all'interno del file .htaccess dei redirect 301 per far in modo che pagine spostate ma già inicizzate con la vechia URL non creino problemi.

    Inoltre avrei necessità di fare una cosa del genere: ho notato che lo script che gestisce il rewrite (PHP) qundo trova la parola "nutella" scrive solo "nu".

    Ad esempio "/snack/nutella/panino_con_nu.html"

    Ora poichè molte di queste pagine già sono state indicizzate vorrei utilizzare le espressioni regolari (regex) per trasformare tutte le url che terminano con "_nu.html" in "_nutella.html".

    Come si fa?

    Ciao e grazie
    Salvatore


  • Community Manager

    @sgnappo said:

    Ora poichè molte di queste pagine già sono state indicizzate vorrei utilizzare le espressioni regolari (regex) per trasformare tutte le url che terminano con "_nu.html" in "_nutella.html".

    Chi da gentilmente una mano a sgnappo?

    Questo potrebbe essere di aiuto per tanti:)

    :ciauz:


  • User Attivo

    @sgnappo said:

    avrei necessità di fare una cosa del genere: ho notato che lo script che gestisce il rewrite (PHP) qundo trova la parola "nutella" scrive solo "nu".

    Ad esempio "/snack/nutella/panino_con_nu.html"

    Ora poichè molte di queste pagine già sono state indicizzate vorrei utilizzare le espressioni regolari (regex) per trasformare tutte le url che terminano con "_nu.html" in "_nutella.html".

    Ciao sgnappo, ma il tuo portale che usa per fare quel tipo di url, un plugin che genera le pagine statiche o altro?


  • User

    Ciao eLLeGi,

    il sito utilizza un plugin per convertire le url del CMS in url di tipo statico. Non so come funziona esattamente...utilizza un DB per memorizzare le URL e il file .htaccess per il rewrite.

    Lo script converte le URL sostituendole con /nome_sezione/nome_categoria/titolo_pagine.html

    Il suo comportamento è soddisfacente tranne per alcune cose strane tipo che non completa la parola "nutella" (forse è allergico...mah!) e non inserisce la lettera 'z' se questa è presente nel titolo della pagina e viene dopo un '' (underscore) (es. pasta e zucca-->pasta_e_ucca.html)

    Attualmente sto tamponando il problema andando a cambiare manualmente le URL nel DB.

    Nelle mie esperienze di programmazone mi sono imbattuto spesso in espressioni regolari (complesse da comprendere 😞 )per il riconoscimento di stringhe...e pensavo di utilizzarle per l'URL_REWRITE in .htaccess...ma non so come fare.

    Sarebbe pure una soluzione elegante 😄 e mi eviterebbe di fare debugging dello script per individuae il bug.

    Ciao
    Salvatore


  • User Attivo

    come si chiama questo plugin? se è open magari si trova qualche info su come risolverlo in giro.


  • User

    E' un plugin per l CMS Joomla e si chiama ARTIO Joomsef.

    http://www.artio.cz/en/joomla-extensions/artio-joomsef

    La versione che utilizzo è l'ultima e non mi pare che qualcuno abbia notificato questo problema...sul sito non vi è alcuna nota.

    Mah!


  • User Attivo

    ok, puoi verificare se nella tabella che utilizza, i nomi sono già troncati oppure se il problema avviene a livello di scrittura nell'htaccess?


  • User

    Nel DB sono già troncate...il taglio avviene a livello di script...ma solo per "_nutella".

    Sto cercando di capire come utilizzare l'istruzione RedirectMatch.

    Dovrebbe essere una cosa del genere:

    RedirectMatch 301 (.*_nu).htm$ http://www.dominio.it$1_nutella.html

    Solo che nn so cosa mettere in $1 e se la sintassi è esatta...ho fatto diverse prove ma il server mi ha sempre risposto con un errore interno (500).

    ...appena risolvo vi faccio sapere 😉


  • User Attivo

    @sgnappo said:

    Nel DB sono già troncate...il taglio avviene a livello di script...ma solo per "_nutella".

    a me sembra che non sia la parola nutella il problema, ma la lunghezza globale dell'url.


  • User

    No...ci sono altre URl più lunghe.

    Pensavo anch'io alla lunghezza..così ho aumentato la dimensione della colonna nel DB...e controllato nello script se troncava da qualche parte...ma niente!


  • User

    sgnappo forniresti per cortesia l'url come dovrebbe essere prima del rewrite e come appare dopo completo?

    sia per nutella sia per le z nel title.

    che codifica usi per i caratteri(utf-8, western, ...) su web server e quale su db?

    utilizzi l'& al posto del solo & nella costruzione degli url dinamici?

    queste sono le prime cose che mi sono venute in mente, spero di poterti aiutare.

    ciao,
    *M


  • User

    Ciao marcuzzer,

    1. URL prima: index.php?option=com_content&task=view&id=26&Itemid=46
    2. URL dopo: nutella_che_passione/dolci_e_dolcetti_alla_nutella/cannoli_alla_nu.html

    Ovviamente dovrebbe essere ".../cannoli_alla_nutella.html"

    1. Il title è: "Cannoli alla Nutella" (sezione: "Nutella che Passione", categoria: "Dolci e Dolcetti alla Nutella")

    2. Utilizzo &

    3. La codifica dei campi nel DB è settata a "latin1_swedish_ci"

    4. Sul server...come faccio il controllo???

    Ciao
    Salvatore


  • User

    se usi apache puoi controllare quale charset di default e' presente nel file httpd.conf
    In ogni caso per una prova "istantanea", in firefox puoi fare tasto destro (o mela+click) sulla pagina e scegliere "visualizza info pagina". A quel punto ti appare il charset con qui la pagina viene visualizzata. Nel caso fosse utf-8 ti consiglio di fare una prova e settare come utf-8 anche i campi del db e vedere se qualcosa cambia.

    Altre idee non me ne vengono in mente...

    *M


  • User

    ok,

    la codifica è ISO-8859-1...solo che nella lista delle codifiche sul DB...ISO-8859-1 non c'è...quindi non posso allinearla.

    😞


  • User

    lo sweedish case insensitive che usi va gia' bene, e' la stessa cosa con un nome diverso (alla gente piace dare nomi diversi per complicare la vita altrui).

    scarterei quindi anche la possibilita' di errori di codifica. rimane un bel mistero. Cosa ti rispondono quelli della Artio? hai provato a contattare il loro supporto ed esporgli il tuo problema? sembrerebbe quasi un bug del plugin a questo punto.

    facci sapere!
    *M


  • User

    Ciao

    ho inviato una mail...ma attendo ancora una risposta.

    Il problema è molto singolare!!!! Xchè solo con "nutella" e "_z"? Mah...che mistero!

    Ciao e grazie
    Salvatore


  • User Attivo

    Ma hai provato OpenSef ? A me non ha dato nessun problema.


  • User

    Si...l'ho provato...mi ha dato un casino di problemi durante la generazione della sitemap.

    Creava dei loop..mah.