• User Attivo

    301 che non funge

    ciao!
    premetto che ho cercato, ho letto.. ma la cosa è semplice e pura, e se non funge ci sara qualche problema alla base.

    Una cosa molto semplice.
    Ho avuto casini con l'htaccess per un periodo piuttosto lungo, e son scomparse dalle SERP le pagine di un blog demenziale che usava il modulo rewrite di WordPress.

    Ora, in serp, stanno ricomparendo (non si sa perche e percome) le pagine cno le url .../?p=123

    Le pagine fortunatamente son poche, quindi posso prendermi la briga di reindirizzarle una ad una a quelle corrette.
    Faccio notare che praticamente ci son pagine duplicate in ogni dove.. non vi dico il risvolto sul posizionamento ;_;

    La cosa parrebbe semplice.
    ho inserito

    Options +FollowSymLinks
    RewriteEngine on
    RewriteRule paginascrittacomecartella ?p=123

    (WP riscrive le pagine come cartelle /titolo-de-post/ )

    Dato che non funge, il problema sara altrove, magari il tutto cozza con le altre regole dell'htaccess, che sono:
    ___________________________________________-
    Options +FollowSymLinks
    RewriteEngine on
    #qui sotto metterei i redirect per ste 5/5 pagine maledette
    RewriteRule porcamiseria ?p=123

    #questo credo sia contro l'hotlinking
    RewriteCond %{HTTP_REFERER} !^http://url.com/.$
    RewriteCond %{HTTP_REFERER} !^http://url.com$
    RewriteCond %{HTTP_REFERER} !^http://www.url.com/.
    $
    RewriteCond %{HTTP_REFERER} !^http://www.url.com$
    RewriteRule .*.(jpg|jpeg|gif|png|bmp)$ - [F,NC]

    #Questo per ovviare a dei burloni che linkavano via DNS direttamente il mio IP
    RewriteCond %{HTTP_HOST} !^(www.)?url.com$
    RewriteRule (.*)$ http://www.url.com

    questo giuro non so perche l'ho messo,cmq sia per

    pagine non trovate rimanda al blog

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

    <Files 403.shtml>
    order allow,deny
    allow from all
    </Files>

    Stando cosi le cose, se da Gg o qualsivoglai link clicco un url che manda a url.com/cartellabaseblog/?p=123 non dovrei essere reindirizzato a url.com/cartellabaseblog/porcamiseria ?

    ;_;


  • Super User

    ciao evil 😉

    devi usare [R=301] per effettuare il redirect

    RewriteEngine on
    RewriteRule post123 http://www.sito.it/blog/2007/05/pagina-123 [R=301]
    

    ciao 🙂
    Francesco


  • User Attivo

    ;_;

    RewriteRule /?p=123 http://www.url.com/2007/05/pagina123/ [R=301]

    non funge. ci rinuncio.

    (cliccando ?p=123 ci dovrebbe essere il redirect a /pagina123/ ... e non accade. mbo.)


  • Super User

    uhm,
    mi frega il fatto che manca index.php
    non riesco a scrivere una regexp funzionante per una stringa che inizia per "?" :arrabbiato: :():


  • User Attivo

    ma non mi servon regole generali 😛
    son poche pagine, metterei a manina le varie corrispondenze.
    ?p=123 -> perepe.html
    ?p=4 -> asd_e_lol.html
    ecc ecc.

    solo che non funge.
    mi rode perche è uno strascico di un altro problema.. mi han messo mano all'htaccess per risolvermi un guaio, nel frattempo pero han fatto danno, e GG nn poteva piu accedere alle pagine indicizzate.
    Quindi son scomparse.. e son ricomparse (non so come dato che ho attivo su WP il rewrite..) le pagine con le querystring.
    mbah..
    grazie mille cmq per l'interessamento, davvero gentile 🙂


  • Super User

    stanotte non ci ho dormito 😄
    ho indagato, e indagato
    poi mi son accorto di quanto son stato pirla, non mi son reso conto che stavo trattando una query string... -.-'

    RewriteEngine on
    RewriteCond %{QUERY_STRING}  ^p=121$
    RewriteRule ^$ http://www.sito.it/pagina111 [L,R=301]
    ```ciao! :)
    
    ps: puoi metterne in serie quante ne vuoi, e non diventa neppure lento (ho inserito , una specie di break degli switch)