- Home
- Categorie
- Digital Marketing
- Posizionamento Nei Motori di Ricerca
- Redirect 301 va in conflitto con il Rewrite di Wordpress??
-
Potrebbe essere che il tuo host non ti consente di farlo a livello di .htaccess quindi dovresti provare nel virtualhost.
-
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?
-
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/ " ?
-
No nel query string non puoi accodarle.
Devi usare degli operatori logici o specificare una ulteriore QUERY_STRING
-
Togli il match con la variabile che è rappresentata dal %1.
-
Ed è quello che ho pensato subito io...
togliere il %1.
Ma le mostra lo stesso
-
Di che variabili parli?
-
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 **%1ma il risultato non cambia, cioè continua a scrivermi /nomepagina/?page=pages&pid=588
**
-
Nella condizione sulle querystring hai utilizzato un operatore logico che dice se è questo + quello?
-
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
**
-
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 &