• Super User

    bel topic 🙂

    pedro tu sai dirmi come fare il redirect 301 da domain.tld a www.domain.tld con wordpress, che di suo mette un .htaccess tipo questo:

    
    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php 
    </IfModule>
    
    # END WordPress
    
    

    te lo chiedo da assoluto GNUrante di mod_rewrite 🙂


  • Super User

    p.s. NC é
    'nocase|NC' (no case)
    This makes the Pattern case-insensitive, ignoring difference between 'A-Z' and 'a-z' when Pattern is matched against the current URL.


  • User Attivo

    @must said:

    bel topic 🙂 Concordo 🙂
    Aspetto però sempre la risposta di diliberto, la questione mi interessa e non poco!

    @must said:

    pedro tu sai dirmi come fare il redirect 301 da domain.tld a www.domain.tld con wordpress Bè, dovrebbe bastare modificare il file che crea wordpress in questo modo:

    
    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . **http://www.domain.tld**/index.php **[R=301,L]**
    </IfModule>
    
    # END WordPress
    
    

    Non ho mai provato, ma a occhio dovrebbe fungere.
    A meno che l'ora tarda non mi abbia obnubilato il cervelletto; fammi sapere se funziona 🙂

    @must said:

    p.s. NC é
    'nocase|NC' (no case)
    This makes the Pattern case-insensitive, ignoring difference between 'A-Z' and 'a-z' when Pattern is matched against the current URL. Uaz allora ho cannato in pieno :eheh:

    P.s. l'ideale sarebbe studiarsi per bene la documentazione, però diverse volte, soprattutto all'inizio, questo [url=http://www.ilovejackdaniels.com/mod_rewrite_cheat_sheet.png]bigino del mod_rewrite mi ha risparmiato parecchio tempo!


  • Super User

    @petro said:

    Non ho mai provato, ma a occhio dovrebbe fungere.
    A meno che l'ora tarda non mi abbia obnubilato il cervelletto; fammi sapere se funziona 🙂

    non funziona 🙂
    se vado su www.domain.tld/post/ mi rimanda a www.domain.tld/index.php (non ho provato altri url, quindi non so come si comporta negli altri casi possibili).


  • User

    Prima di tutto perdonate la lunga attesa prima di essermi fatto risentire e soprattutto perdonate la rapidità di questo reply (petro leggerò con calma quello che mi chiedi e ne riparleremo di sicuro) ora sono di frettissima...

    Fine settimana, lontano da internet ho riflettuto sulla questione, non mi capacitavo che apache non riuscisse a gestire una situazione simile e riflettendo sul problema ho avuto una piccola illuminazione sul modus operandi che ho testato esser corretto e funzionante prima ancora di rileggere questo topic e le vostre risposte.

    La soluzione al mio quesito iniziale è molto semplice: apache interpreta in maniera lineare le istruzioni contenute al suo interno, pertanto nel caso sopracitato è sufficiente eseguire il redirect [301] prima del rewriteengine.... banalmente invertendo l' ordine delle righe di istruzioni da me postate 😉

    Cordialmente
    Alessio


  • User

    petro:
    (No Case)
    Ha detto bene must, non fa differenza fra 'A-Z' e 'a-z'.
    Non prettamente indispensabile al funzionamento dell' esempio sopracitato 😉

    must:
    prova questo, dovrebbe funzionarti per tutte le pagine non solo per la home e fammi sapere
    RewriteCond %{HTTP_HOST} ^google.it
    RewriteRule ^(.*)$ http://www.google.it/$1 [L,R=301]


  • User Attivo

    @diliberto said:

    ...che qualcuno mi smentisca....

    Cordialmente
    Alessio

    PS scrivere una regola per "ogni pagina del sito" da cui fare il redirect non è una soluzione ammissibile:)

    Ciao,

    così dovresti salvare "capre e cavoli"

    RewriteEngine On
    RewriteRule ^([^/]+)/([^/]+).html index.php?pagina=$1&categoria=$2

    RewriteCond %{HTTP_HOST} ^www.localhost.it$
    RewriteCond %{QUERY_STRING} ^$
    RewriteRule ^(.*)$ http://localhost/$1 [R=301,L]

    RewriteCond %{HTTP_HOST} ^www.localhost.it$
    RewriteCond %{QUERY_STRING} ^(.)=(.)&(.)=(.)$
    RewriteRule ^.*$ http://localhost/%2/%4.html ? [R=301,L]


  • User Attivo

    scusate se mi intrufolo nella discussione ma volevo chiedervi come è possibile (se lo è) calcolare il "superlavoro" dovuto all'uso di .htaccess.
    si insomma è una manna dal cielo per i motori ma per il server (in hosting!) di un sito affollato credo di no, o sbaglio??


  • User Attivo

    @piccolosocrate said:

    scusate se mi intrufolo nella discussione ma volevo chiedervi come è possibile (se lo è) calcolare il "superlavoro" dovuto all'uso di .htaccess.
    si insomma è una manna dal cielo per i motori ma per il server (in hosting!) di un sito affollato credo di no, o sbaglio??

    Apache ha a disposizione un utile strumento di benchmark
    http://httpd.apache.org/docs/2.0/programs/ab.html

    con cui è possibile "stressare" il sito

    Ovviamente la situazione ideale per siti molto molto frequentati, specialmente se realizzati con cms complessi come Typo3, è comunque inserire le configurazioni che normalmente inseriremmo in .htaccess direttamente in httpd.conf e settare AllowOverride None (prestando attenzione alle differenze di sintassi e di funzionamento per quanto riguarda mod_rewrite)

    Teni comunque presente che il parsing di qualsiasi file php (in assenza di un sistema di caching del bytecode) generalmente comporta un overhead maggiore del parsing di .htaccess


  • User Attivo

    @fheller said:

    Apache ha a disposizione un utile strumento di benchmark
    http://httpd.apache.org/docs/2.0/programs/ab.html

    con cui è possibile "stressare" il sito

    Ovviamente la situazione ideale per siti molto molto frequentati, specialmente se realizzati con cms complessi come Typo3, è comunque inserire le configurazioni che normalmente inseriremmo in .htaccess direttamente in httpd.conf e settare AllowOverride None (prestando attenzione alle differenze di sintassi e di funzionamento per quanto riguarda mod_rewrite)

    Teni comunque presente che il parsing di qualsiasi file php (in assenza di un sistema di caching del bytecode) generalmente comporta un overhead maggiore del parsing di .htaccess
    quindi pesa più un php che un htaccess!
    corpo di mille balene!