- Home
- Categorie
- La Community Connect.gt
- Tutto sulla Community
- Redirect con punto interrogativo
-
Redirect con punto interrogativo
Il redirect non funziona per pagine con il "?" dopo l'indirizzo, nel caso specifico:
Redirect permanent /agriturismo-in-toscana/?s /agriturismo-in-toscana/ il redirect non funziona!
Qualcuno conosce il codice escapè da inserire sempre ce sia necessario inserirlo.
Grazie e ciao
-
Ciao Lionard84,
devi utilizzare RewriteCond con QUERY_STRINGPer esempio per: [non testato]
/agriturismo/?s=esempioRewriteCond %{QUERY_STRING} s=(.*) RewriteRule ^/agriturismo/(.*) /miapagina.php?s=%1
-
Grazie!
Faccio una prova in serata.
Ma questo ha lo stesso significato del permanent redirect?
Ciao
-
L'unica differenza è che cio che si trova dopo il punto interrogativo va specificato nel RewriteCond tramite l'espressione regolare. Infatti con QUERY_STRING si intende ciò che si trova dopo il punto interrogativo.
-
Credevo di aver capito ma non ne sono sicuro, nel mio caso devo fare così ?
RewriteCond %{QUERY_STRING} s=(.*) RewriteRule ^/agriturismo-in-toscana/(.*) /agriturismo-in-toscana/?s=%1
Per avere il redirect da /agriturismo-in-toscana/?s a /agriturismo-in-toscana/ ?:bho:
Grazie
-
@Lionard84 said:
Credevo di aver capito ma non ne sono sicuro, nel mio caso devo fare così ?
>RewriteCond %{QUERY_STRING} s=(.*) RewriteRule ^/agriturismo-in-toscana/(.*) /agriturismo-in-toscana/?s=%1 >```Per avere il redirect da /agriturismo-in-toscana/?s a /agriturismo-in-toscana/ ?:bho: Grazie No, QUERY_STRING indica già ciò che è dopo il ? Esempio funzionante:
RewriteCond %{QUERY_STRING} s=(.*)
RewriteRule ^agriturismo-in-toscana/$ /pagina_redirect.php?id=%1
-
Ho provato ad inserire questo senza modificare niente:
RewriteCond %{QUERY_STRING} s=(.*) RewriteRule ^agriturismo-in-toscana/$ /pagina_redirect.php?id=%1
Ma tutto il blog non era più visibile ed usciva questo errore:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.Ciao
-
@Lionard84 said:
Ho provato ad inserire questo senza modificare niente:
>RewriteCond %{QUERY_STRING} s=(.*) RewriteRule ^agriturismo-in-toscana/$ /pagina_redirect.php?id=%1 >```Ma tutto il blog non era più visibile ed usciva questo errore: **Internal Server Error** The server encountered an internal error or misconfiguration and was unable to complete your request. Certo che si verifica errore: hai inserito due istruzioni sulla stessa riga. Inoltre hai inserito RewriteEngine On a monte dell'.htaccess?
RewriteEngine On
RewriteCond %{QUERY_STRING} s=(.*)
RewriteRule ^agriturismo-in-toscana/$ /pagina_redirect.php?id=%1
-
Ho provato inserendo in alto al file htaccess:
RewriteEngine On
e alla fine del file:
RewriteCond %{QUERY_STRING} s=(.*) RewriteRule ^agriturismo-in-toscana/$ /pagina_redirect.php?id=%1
Adesso non ho nessun errore ma non mi fà neppure nessun redirect.
xCiao e grazie
-
Quale URL richiami da browser?
Esempio: www. miosito . it/agriturismo-in-toscana/s=pippo
-
Io digitavo : www. agriturismocentopino.it/agriturismo-in-toscana/?s e mi apriva la pagina senza fare nessun redirect.
Ps: visto che non dava effetti per il momento ho tolto le modifiche dal file htaccess.
Grazie ancora
-
Certo che ti da errore.
Sbagli la condizione. Se come query string inserisci s=(.*) allora nell'url deve esserci almeno s=Utilizza questa.
RewriteCond %{QUERY_STRING} s RewriteRule ^agriturismo-in-toscana/$ /pagina_redirect.php
-
Grazie, stasera provo.
-
Continua a non farmi il redirect .
Possibile che sia così complicato un redirect?
Ciao e grazie.
-
Non ti fa il redirect? Ti da errore?
Hai altre regole? Hai provato a lasciare solo quelle interessate per vedere se il problema non sia un "conflitto" con altre regole?
A me funziona, ergo non è la regola il problema.
-
Ciao, prova così...
RewriteCond %{REQUEST_URI} ^/agriturismo-in-toscana/.*$ RewriteRule ^(.*)$ /pagina_redirect.php?s=%{QUERY_STRING} [R=301]
saluti
-
Ho solo le regole che mi dato aruba per velocizzare le pagine e qualche redirect permanent. Il problema è che non posso togliere quelle regole .
-
quali sono le regole che non puoi togliere?
-
RewriteCond %{REQUEST_URI} ^/agriturismo-in-toscana/.$
RewriteRule ^(.)$ /pagina_redirect.php?s=%{QUERY_STRING} [R=301]Ho fatto anche questa prova ma non ha funzionato, però facendo una prova e cercando una frase sul blog, compare la ?s=parolacercata . Forse è un problema di wordpress, adeso mi è venuto questo dubbio: facendo il redirect di tutto quello che c'è dopo il ?s rischio di compromettere il motore di riceca wp (cioè ogni ricerca porterebbe all'homepage)?
Il problema è che google me lo vede come contenuto duplicato, altrimenti non mi avrebbe dato nessun fastidio.
Quasi quasi tolgo completamente il motore di ricerca e all'interno di wp metto quello di google. Forse così risolverei il problema?
Grazie !!
-
Scusami ma avrei bisogno di capire la struttura del tuo sito.:?
Wordpress è installato nella root del dominio o in una sottocartella (quale)? Perchè stai cercando di effettuare il redirect?La querystring ?s= è quella che viene gestita dalla ricerca di Wordpress e di default è inviata al file index.php presente nella cartella di WP. Per ripristinarne il funzionamento è sufficente aggiungere una RewriteCond. Prima di mostrartela però ti chiedo di rispondere alle domande sopra, in modo che riesca a capire bene la situazione.