Back to top

Autore Topic: Scrivere regola per redirect 301, sottraendo una parola dall'url vecchio  (Letto 1529 volte)

Offline mikyjoo

  • Esploratore
  • **
  • Post: 78
    • Mostra profilo
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
invece gli url nuovi:
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!

Offline baronepiovasco

  • Appassionato
  • ***
  • Post: 389
  • Sesso: Maschio
    • Mostra profilo
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
« Ultima modifica: 25 Mar 2020, 16:47:07 da baronepiovasco »
Non ci si può mettere a far qualcosa senza che qualcos'altro non vada fatto prima. :-)

Offline mikyjoo

  • Esploratore
  • **
  • Post: 78
    • Mostra profilo
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.
« Ultima modifica: 26 Mar 2020, 10:25:03 da mikyjoo »

Offline baronepiovasco

  • Appassionato
  • ***
  • Post: 389
  • Sesso: Maschio
    • Mostra profilo
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

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

In rete trovi molte indicazioni merito.
« Ultima modifica: 26 Mar 2020, 14:13:10 da baronepiovasco »
Non ci si può mettere a far qualcosa senza che qualcos'altro non vada fatto prima. :-)

Offline mikyjoo

  • Esploratore
  • **
  • Post: 78
    • Mostra profilo
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!

Offline baronepiovasco

  • Appassionato
  • ***
  • Post: 389
  • Sesso: Maschio
    • Mostra profilo
Guarda se qui puoi trovare indicazioni utili:

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
« Ultima modifica: 26 Mar 2020, 20:31:08 da baronepiovasco »
Non ci si può mettere a far qualcosa senza che qualcos'altro non vada fatto prima. :-)

Offline mikyjoo

  • Esploratore
  • **
  • Post: 78
    • Mostra profilo
Grazie baronepiovasco, ora controllo i link...

Offline tomtomeight

  • Global Moderator
  • Fuori controllo
  • ********
  • Post: 32046
  • Sesso: Maschio
  • Gli automatismi aiutano ma non insegnano nulla.
    • Mostra profilo
CiaoHai provato questo nel .htaccess?
Codice: [Seleziona]
RewriteRule ^sottocartella/(.*)$ /$1 [R=301,NC,L]

Offline mikyjoo

  • Esploratore
  • **
  • Post: 78
    • Mostra profilo
Ciao!
CiaoHai provato questo nel .htaccess?
Codice: [Seleziona]
RewriteRule ^sottocartella/(.*)$ /$1 [R=301,NC,L]
Grazie! Ho provato, ma non funziona, forse c'è qualche intoppo nel sito

Offline mikyjoo

  • Esploratore
  • **
  • Post: 78
    • Mostra profilo
Ho provato questo, usando un sito che genera il codice in automatico:
Codice: [Seleziona]
RedirectMatch 301 /home(.*) //$1e funziona, solo che mi scrive url con 3 slash di seguito. Ad esempio:
Codice: [Seleziona]
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/ e mi pare ottimo.
« Ultima modifica: 29 Mar 2020, 09:36:17 da mikyjoo »

 



Web Design Bolzano Kreatif