Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Digital Marketing
    4. SEO
    5. Redirect 301 va in conflitto con il Rewrite di Wordpress??
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • juanin
      juanin Admin • ultima modifica di

      Per fare redirect di URL con querystring non puoi usare la direttiva "redirect 301", ma devi usare delle RewriteRule e RewriteCond.

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • Z
        zux User • ultima modifica di

        Ah, ecco.
        Però ottengo lo stesso risultato del redirect 301?
        L'obiettivo prefissato è quello di non perdere (completamente) i posizionamenti e i rank ottenuti dal vecchio sito; con questo sistema riesco ad ottenere la stessa cosa?

        Ho comunque provato a fare:

        RewriteRule ^nomepagina/$ /index.php?page=pages&pid=588

        Ma non funziona...

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • juanin
          juanin Admin • ultima modifica di

          Devi fare una cosa simile.

          Per farlo diventare un 301 basta aggiungere tra parentesi quadre R=301.

          RewriteEngine On
          RewriteCond %{REQUEST_URI}  ^/paginetta\.php$
          RewriteCond %{QUERY_STRING} ^p=([0-9]*)$
          RewriteRule ^(.*)$ http://www.miosito.com/paginetta/%1 [R=301,L]
          
          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • Z
            zux User • ultima modifica di

            Buongiorno Juanin,
            innanzitutto **grazie **per l'aiuto.

            Ho provato il tuo codice, ma non funziona.
            Ho anche provato ad eliminare quello di Wordpress, giusto per test... ma non va.

            Le tue istruzioni dicono (correggimi se sbaglio):
            Se la pagina è paginetta.php
            e ci sono variabili, (nel caso scritto da te p=un-numero
            Allora riscrivi questa pagina in -->url-nuovo

            Quindi, se la logica è corretta, io dovrei scrivere:

            RewriteCond %{REQUEST_URI} ^/index.php$
            RewriteCond %{QUERY_STRING} ^page=pages&pid=([0-9])$
            RewriteRule ^(.
            )$ dominio/paginetta/%1 [R=301,L]

            Però così - appunto - non funziona.

            Cosa sbaglio?

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • juanin
              juanin Admin • ultima modifica di

              Potrebbe essere che il tuo host non ti consente di farlo a livello di .htaccess quindi dovresti provare nel virtualhost.

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • Z
                zux User • ultima modifica di

                Il sito è su Aruba, hosting (ovviamente 🙂 ) Linux.
                Strano, il file .htaccess di Wordpress funziona egregiamente..

                Però la logica che ho descritto sopra, e l'esempio modificato, è corretto?

                Cioè, la url "vecchia" ha questa seguenza (strana, tra l'altro) di variabili, page=pages&pid=*numero .
                *Nella RewriteCond %{QUERY_STRING} è corretto inserirle tutte?

                L'altro mio problema è il seguente:

                Ho circa 60 pagine da re-indirizzare. Ovviamente ognuna ad una pagina.
                Quindi, invece di usare ([0-9]*) dovrei usare un numero preciso (es: 45) che dovrò redirezionare ad una url precisa (esempio: /fantasia/)

                Basterà sostituire la parte della espressione regolare ([0-9]*) con il numero?

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • Z
                  zux User • ultima modifica di

                  Forse ci siamo:

                  Ho scoperto che rischia di essere un problema di forma:
                  Praticamente su Aruba per ogni "/" bisogna anteporre un ""

                  Ora però ho un piccolissimo problema, poi - lo giuro - non rompo più.

                  La direttiva mi riscrive l'url in questo modo:

                  dominio / nomepagina / variabili

                  Come faccio a non fargli scrivere più nessuna variabile dopo il " nomepagina/ " ?

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • juanin
                    juanin Admin • ultima modifica di

                    No nel query string non puoi accodarle.

                    Devi usare degli operatori logici o specificare una ulteriore QUERY_STRING

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • juanin
                      juanin Admin • ultima modifica di

                      Togli il match con la variabile che è rappresentata dal %1.

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • Z
                        zux User • ultima modifica di

                        Ed è quello che ho pensato subito io...
                        togliere il %1.
                        Ma le mostra lo stesso 😞

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • juanin
                          juanin Admin • ultima modifica di

                          Di che variabili parli?

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • Z
                            zux User • ultima modifica di

                            Parlo di questo:

                            la url che devo trasformare è
                            index.php**?page=pages&pid=588

                            **in

                            /nomepagina/

                            esattamente così.

                            Con le istruzioni di cui stiamo parlando il mod_rewrite scrive:

                            /nomepagina/?page=pages&pid=588

                            Io ho provato a togliere da
                            RewriteRule ^(.*)$ dominio/paginetta/%1 [R=301,L]
                            il **%1

                            ma il risultato non cambia, cioè continua a scrivermi /nomepagina/?page=pages&pid=588

                            **

                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            • juanin
                              juanin Admin • ultima modifica di

                              Nella condizione sulle querystring hai utilizzato un operatore logico che dice se è questo + quello?

                              0 Miglior Risposta Ringrazia Cita Rispondi

                                1 Risposta Ultima Risposta
                              • Z
                                zux User • ultima modifica di

                                Io ho questa situazione:

                                RewriteCond %{REQUEST_URI} ^/index.php$
                                RewriteCond %{QUERY_STRING} ^page=pages&pid=(588)$
                                RewriteRule ^(.*)$ dominio/nomepagina/ [R=301,L]

                                In questa situazione la riscrittura è

                                /nomepagina/**?page=pages&pid=588

                                **

                                0 Miglior Risposta Ringrazia Cita Rispondi

                                  1 Risposta Ultima Risposta
                                • juanin
                                  juanin Admin • ultima modifica di

                                  Non puoi matchare 2 condizioni come ti ho detto sopra

                                  RewriteCond %{QUERY_STRING} ^page=pages&pid=(588)$

                                  Devi usare un operatore logico che divida le due variabili divise da &

                                  0 Miglior Risposta Ringrazia Cita Rispondi

                                    1 Risposta Ultima Risposta
                                  Caricamento altri post
                                  Rispondi
                                  • Topic risposta
                                  Effettua l'accesso per rispondere
                                  • Da Vecchi a Nuovi
                                  • Da Nuovi a Vecchi
                                  • Più Voti