• User

    aiuto con file .htaccess da ottimizzare e sito lento

    Ciao a tutti, premetto che sono un niubbone con il mod_rewrite, cio' nonostante, su richiesta di un cliente, con tanta pazienza ho iniziato da alcuni mesi a documentarmi in materia ed a stendere un file .htaccess per il sito dell'interessato (inutile dire che l'ISP impedisce ogni modifica del file di config. e l'unica soluzione era il file .htaccess).
    Purtroppo questo cliente mi ha chiesto di aggiungere varie sezioni al suo sito e ho dovuto procedere con un mod_rewrite probabilmente 'maccheronico'.
    Mi sono sempre basato su una sintassi semplice, ma sebbene i motori di ricerca abbiano gratificato il mio cliente, adesso, a suo dire, il sito va lentino.
    Ed in effetti il mod_rewrite si fa sentire...
    gli ho proposto di tornare al buon vecchio php ma niente da fare, l'interessato vuole lasciare tutto cosi' perchè altri siti lo linkano etc.etc.
    In breve questo è il contenuto del file .htaccess, si puo' fare qualcosa? Possibilità di ottimizzare ulteriormente?
    Non vi spaventate nel vedere il codice 'maccheronico', è tutta degenerazione di manuali 'elementari' trovati in rete: 😮

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_URI} risultati/(.).html|risultati.html
    RewriteRule ^risultati.html$ index.php?vrb=10
    RewriteRule ^risultati/([0-9]+)/(.
    ).html$ index.php?vrb=50&ffb=$1
    RewriteRule ^risultati/([0-9]+)-stampa.html$ cont/risprint.php?nb=$1
    RewriteCond %{REQUEST_URI} risultati_calcio/(.).html
    RewriteRule ^risultati_calcio/([0-9]+)/(.
    ).html$ index.php?vrb=10&ffb=$1&wn=1
    RewriteRule ^risultati_calcio/([0-9]+)-stampa.html$ cont/riswldprint.php?nb=$1
    RewriteCond %{REQUEST_URI} altri_ris/-([0-9]+).html|altri_ris.html
    RewriteRule ^altri_ris.html$ index.php?vrb=10&med=1
    RewriteRule ^altri_ris/list-([0-9]+).html$ index.php?vrb=10&pn=$1&med=1
    RewriteCond %{REQUEST_URI} partite/(.).html|partite.html
    RewriteRule ^partite.html$ index.php?vrb=50
    RewriteRule ^partite/seriea.html$ index.php?vrb=51
    RewriteRule ^partite/serieb.html$ index.php?vrb=52
    RewriteRule ^partite/seriec.html$ index.php?vrb=53
    RewriteRule ^partite/seried.html$ index.php?vrb=54
    RewriteRule ^partite/dilettanti.html$ index.php?vrb=55
    RewriteRule ^partite/(.
    )-([0-9]+)([0-9]+).html$ index.php?vrb=$2&pg=$3
    RewriteCond %{REQUEST_URI} maglie/(.).html|maglie.html
    RewriteRule ^maglie.html$ index.php?vrb=20
    RewriteRule ^maglie/juventus.html$ index.php?vrb=21
    RewriteRule ^maglie/milan.html$ index.php?vrb=22
    RewriteRule ^maglie/inter.html$ index.php?vrb=23
    RewriteRule ^maglie/roma.html$ index.php?vrb=24
    RewriteRule ^maglie/fiorentina.html$ index.php?vrb=25
    RewriteRule ^maglie/(.
    )-([0-9]+)([0-9]+).html$ index.php?vrb=$2&pi=$3
    RewriteCond %{REQUEST_URI} campo/(.).html|campo.html
    RewriteRule ^campo.html$ index.php?vrb=40
    RewriteRule ^campo/milano.html$ index.php?vrb=41
    RewriteRule ^campo/torino.html$ index.php?vrb=42
    RewriteRule ^campo/roma.html$ index.php?vrb=43
    RewriteRule ^campo/(.
    )-([0-9]+)([0-9]+).html$ index.php?vrb=$2&pi=$3
    RewriteCond %{REQUEST_URI} eventi/-([0-9]+).html|eventi.html
    RewriteRule ^eventi.html$ index.php?vrb=60
    RewriteRule ^eventi/([0-9]+)/(.).html$ index.php?vrb=60&ffb=$1
    RewriteRule ^eventi/list-([0-9]+).html$ index.php?vrb=60&ev=$1&med=1
    RewriteRule ^eventi/([0-9]+)-stampa.html$ cont/evprint.php?im=$1
    RewriteCond %{REQUEST_URI} links/-([0-9]+).html|links.html
    RewriteRule ^links.html$ index.php?vrb=70
    RewriteRule ^links/list-([0-9]+).html$ index.php?vrb=70&pwl=$1
    RewriteCond %{REQUEST_URI} archivio/-([0-9]+).html|archivio.html
    RewriteRule ^archivio.html$ index.php?vrb=10&med=2
    RewriteRule ^archivio/list-([0-9]+).html$ index.php?vrb=10&ku=$1&med=2
    RewriteRule ^cerca/list-([0-9]+)(.
    ).html$ index.php?der=1&prs=$1&gh=$2
    RewriteRule ^mappasito.html$ index.php?vrb=76
    RewriteRule ^contatti.html$ index.php?vrb=77
    </IfModule>

    per favore ditemi se vi sono possibilità di ottimizzare il tutto, cosa modifichereste e come.

    Grazie mille.


  • User Attivo

    Ciao,
    vista cosi , lettura molto veloce, direi che non capisco come possa fare a rallentare il server.
    Per farti un esempio, uno dei miei htaccess contiene circa 320 righe di istruzioni ed il server non ha alcuna difficoltà o rallentamento.
    Piuttosto verificherei che non sia magari il database a creare problemi, magari con qualche query troppo pesante senza indici, magari i dati sono aumentati un bel po e ora la performance su tabelle non ottimizzate si potrebbe far sentire 😉

    Ciao


  • User

    @Thesee said:

    Ciao,
    vista cosi , lettura molto veloce, direi che non capisco come possa fare a rallentare il server.
    Per farti un esempio, uno dei miei htaccess contiene circa 320 righe di istruzioni ed il server non ha alcuna difficoltà o rallentamento.
    Piuttosto verificherei che non sia magari il database a creare problemi, magari con qualche query troppo pesante senza indici, magari i dati sono aumentati un bel po e ora la performance su tabelle non ottimizzate si potrebbe far sentire 😉

    Ciao

    come puoi vedere ho inserito alla fine di ogni riga, ho letto più di un 'how to' sui flags anche se sono un niubbo in materia. Di primo acchito non ne vedo altri che possano velocizzare la lettura. Credo inoltre che il flag inserito alla fine di ogni riga e non ad es in questo modo:

    RewriteCond %{REQUEST_URI} risultati/(.).html|risultati.html
    RewriteRule ^risultati.html$ index.php?vrb=10
    RewriteRule ^risultati/([0-9]+)/(.
    ).html$ index.php?vrb=50&ffb=$1
    RewriteRule ^risultati/([0-9]+)-stampa.html$ cont/risprint.php?nb=$1

    ovvero alla fine delle righe relative ad una condizione, dia comunque una lettura più veloce al file. Che ne pensi?

    Per il database ho indicizzato le tabelle più importanti via phpmyadmin, ma ho notato che il valore di cardinalità delle tabelle resta SEMPRE 'nessuno'.
    Ho cercato di capire cosa significhi cardinalità ma non ho trovato una risposta esauriente, tanto meno sul valore ideale.

    Sto valutando di usare la query cache ma sebbene attiva il valore 'query_cache_size' è settata a zero dall'ISP! Soluzione per incrementarla via phpmyadmin esistono? Lasciamo stare il chiederlo all'ISP...

    Grazie mille.


  • User Attivo

    ti rispondo in velocità poi domani leggo con calma: ottimizza le tabelle con phpmyadmin, e vedi se come indici ifnalmente ti fa vedere i numeri.
    Poi verifica le prestazioni.
    Ciao


  • Super User

    ottimizza di suo
    l'unica ulteriore ottimizzazione è quella di mettere il tutto direttamente nel file di configurazione di apache 😉

    altre idee non mi vengono!