Joomla.it Forum

Joomla! 3 => Joomla! 3 => : mikyjoo 25 Mar 2020, 13:51:20

: Scrivere regola per redirect 301, sottraendo una parola dall'url vecchio
: mikyjoo 25 Mar 2020, 13:51:20
Ho installato la versione gratuita di ReDj per gestire meglio i redirect. Vorrei evitare di scrivere una singola regola per ogni pagina usando ReDj o un'altro sistema/estensione gratuita. Volevo sapere se qualcuno conosce la regola da scrivere per fare in modo che tutti gli URL di destinazione siano uguali a quelli vecchi, eccetto per unica parola che deve essere sottratta dall'URL stesso. Nel senso che il mio sito una volta era in una sottocartella, ma ora è nella root. L'unica differenza rispetto a prima è infatti che nei nuovi URL manca il nome della sottocartella. E' possibile?Ad esempio tutti gli URL vecchi hanno questa forma:
https://www.miosito.com/sottocartella/nome-pagina.html (https://www.miosito.com/sottocartella/nome-pagina.html)
invece gli url nuovi:
https://www.miosito.com/nome-pagina.html (https://www.miosito.com/nome-pagina.html)
Ho provato a scrivere dentro ReDj come pagina vecchia:
home/{*}
e come pagina di destinazione:
{*}
Ma non funziona. La sintassi dovrebbe essere quella di MySQL. Il nome della sottocartella da cancellare sta sempre scritto immediatamente dopo il dominio del sito.
Qualcuno può aiutarmi?Grazie!
: Re:Scrivere regola per redirect 301, sottraendo una parola dall'url vecchio
: baronepiovasco 25 Mar 2020, 16:25:05
Ciao, io mi sono sempre trovato bene con il componente nativo di Joomla,
hai mai letto questa guida e approfondito?

https://www.joomla.it/blog/7675-i-segreti-del-redirect-nativo-di-joomla.html (https://www.joomla.it/blog/7675-i-segreti-del-redirect-nativo-di-joomla.html)
: Re:Scrivere regola per redirect 301, sottraendo una parola dall'url vecchio
: mikyjoo 25 Mar 2020, 19:34:55
Grazie baronepiovasco! scusa il ritardo nella risposta, le notifiche non mi arrivano. Purtroppo non l'ho trovato molto utile. Redj permette di scrivere regole generali usando espressioni regolari RegExp e anche variabili e macro, ma non ho trovato la formula giusta.Ad esempio scrivendo come vecchio url semplicemente:
sottocartella
(non è necessario scirvere altri segni) e come url di destinazione:
{scheme}://{siteurl}/
Si ottiene in un colpo solo che tutti gli url che contengono /sottocartella/ vengano indirizzati alla home ovvero a siteurl.
: Re:Scrivere regola per redirect 301, sottraendo una parola dall'url vecchio
: baronepiovasco 26 Mar 2020, 14:09:39
Ciao mikyjoo, le notifiche purtroppo non funzionano per nessuno a quanto ho capito,
comunque, ho dato un'occhiata alla documentazione ufficiale del componente che utilizzi ma nell'esempio che viene adottato non è proprio il tuo caso? Se non ho capito male, lo trovi in fondo alla pagina:

https://www.selfget.com/documentation/redj-joomla25/create-a-redirection-rule.html (https://www.selfget.com/documentation/redj-joomla25/create-a-redirection-rule.html)

Stavo anche pensando: che ne dici di prendere in considerazione un Redirect via htaccess?

In rete trovi molte indicazioni merito.
: Re:Scrivere regola per redirect 301, sottraendo una parola dall'url vecchio
: mikyjoo 26 Mar 2020, 20:11:03
Ciao baronepiovasco! Purtroppo ho già letto la pagina che mi indichi, ma grazie lo stesso!In effetti dovrei provare ad usare direttamente l'htaccess, visto che non c'è una maniera automatica di risolvere la cosa. Per caso hai qualche pagina web in merito per aiutarmi?Grazie!
: Re:Scrivere regola per redirect 301, sottraendo una parola dall'url vecchio
: baronepiovasco 26 Mar 2020, 20:27:11
Guarda se qui puoi trovare indicazioni utili:

https://gist.github.com/ScottPhillips/1721489 (https://gist.github.com/ScottPhillips/1721489)

comunque trovi moltissimi esempi in rete

Ti aggiungo anche questa:

https://mediatemple.net/community/products/all/204643080/how-do-i-redirect-my-site-using-a-.htaccess-file (https://mediatemple.net/community/products/all/204643080/how-do-i-redirect-my-site-using-a-.htaccess-file)
: Re:Scrivere regola per redirect 301, sottraendo una parola dall'url vecchio
: mikyjoo 27 Mar 2020, 09:38:35
Grazie baronepiovasco, ora controllo i link...
: Re:Scrivere regola per redirect 301, sottraendo una parola dall'url vecchio
: tomtomeight 27 Mar 2020, 10:40:37
CiaoHai provato questo nel .htaccess?
:
RewriteRule ^sottocartella/(.*)$ /$1 [R=301,NC,L]
: Re:Scrivere regola per redirect 301, sottraendo una parola dall'url vecchio
: mikyjoo 28 Mar 2020, 11:13:38
Ciao!
CiaoHai provato questo nel .htaccess?
:
RewriteRule ^sottocartella/(.*)$ /$1 [R=301,NC,L]
Grazie! Ho provato, ma non funziona, forse c'è qualche intoppo nel sito
: Re:Scrivere regola per redirect 301, sottraendo una parola dall'url vecchio
: mikyjoo 28 Mar 2020, 11:23:32
Ho provato questo, usando un sito che genera il codice in automatico:
:
RedirectMatch 301 /home(.*) //$1e funziona, solo che mi scrive url con 3 slash di seguito. Ad esempio:
:
www.miosito.it///mia-pagina.htmlLa cosa è ancora più strana, perché lo fa solo con alcune pagine, non con  tutte.

Il codice che ho riportato qui sopra è uguale a quello suggerito nella pagina indicata da baronepiovasco, e in pratica funziona. Se con alcune pagine appaiono degli slash in più, probabilmente si tratta di un problema precedente del sito in questione, che mi hanno appena affidato, siccome è stato creato 10 anni fa, e mi hanno detto che ebbe problemi al passaggio da Joomla 2 a Joomla 3. Il sito che genera codice per htaccess in automatico è https://www.htaccessredirect.net/ (https://www.htaccessredirect.net/) e mi pare ottimo.