WebBlocks Redirect Manager

Requisiti

Versione pacchetto documentato: 0.1.18. WebBlocks CMS ^1.32; PHP >=8.1.

WebBlocks Redirect Manager è un piccolo plugin WebBlocks CMS per creare e gestire semplici reindirizzamenti 301/302 dall'area di amministrazione WebBlocks CMS.

Compatibilità

  • Maniglia a innesto: webblocks-redirect-manager
  • Versione plug-in: 0.1.18
  • Prodotto host di destinazione: webblocks-cms
  • Versione CMS richiesta: ^1.32
  • PHP: >=8.1

Flusso di installazione ZIP manuale

  1. Crea localmente l'artefatto del plugin: composer plugin:build
  2. Carica build/releases/webblocks-redirect-manager-0.1.18.zip nel flusso di caricamento del plugin WebBlocks CMS.
  3. Dopo il caricamento, il CMS dovrebbe prima registrare il plugin in uno stato disabilitato.
  4. Controlla i metadati e le autorizzazioni del plugin.
  5. Ebilita il plugin quando è pronto.
  6. Esegui la migrazione del plugin tramite il ciclo di vita del plugin CMS o il comando di migrazione richiesto dall'installazione dell'host.

Installazione e migrazione

Il plugin possiede una tabella:

webblocks_redirect_manager_redirects

La migrazione crea record di reindirizzamento con:

  • source_path
  • target_url
  • status_code
  • is_enabled
  • hit_count
  • last_hit_at
  • timestamp

Autorizzazioni

  • webblocks-redirect-manager.view
  • webblocks-redirect-manager.manage

Reindirizzamenti di runtime

  • I reindirizzamenti abilitati vengono valutati per le richieste pubbliche GET e HEAD senza corrispondenza prima che il CMS restituisca un 404.
  • CMS 1.32.112 rileva i provider di plug-in installati per i metadati definition() ma non li registra né li avvia come provider di servizi Laravel. Redirect Manager registra quindi il proprio percorso di fallback pubblico da definition() invece di fare affidamento sulla mutazione del gruppo middleware del provider boot().
  • Le richieste POST, PUT, PATCH e DELETE vengono ignorate.
  • Gli spazi dei nomi amministrativi e statici vengono ignorati, inclusi /webadmin/..., /cms/..., /storage/..., /assets/..., /static/..., /build/..., /vendor/... e /webblocks-ui/....
  • I percorsi di origine sono normalizzati con una barra iniziale e nessuna barra finale, quindi /test-1, test-1 e /test-1/ corrispondono alla stessa regola.
  • Le stringhe di query in entrata vengono ignorate per la corrispondenza. /test-1?x=1 corrisponde alla sorgente /test-1.
  • Le stringhe di query in entrata non vengono aggiunte all'URL di destinazione. Una regola da /test-1 a /test-2 reindirizza /test-1?x=1 a /test-2.
  • La corrispondenza tra GET e HEAD reindirizza sia l'incremento di hit_count che l'aggiornamento di last_hit_at.
  • I reindirizzamenti interni con destinazione automatica vengono rifiutati durante la convalida di creazione/modifica da parte dell'amministratore e ignorati in fase di esecuzione come protezione del ciclo.
  • Se la tabella dei plugin manca perché le migrazioni dei plugin non sono state eseguite, le richieste pubbliche ignorano il middleware senza un errore SQL.

Test del contatore di visite

I browser possono memorizzare nella cache 301 reindirizzamenti. Durante il test dei contatori di visite, utilizza i reindirizzamenti 302, svuota la cache del browser, utilizza la navigazione in incognito o esegui il test con curl.

Limitazioni

  • Le migrazioni dei plugin non vengono eseguite automaticamente; eseguirli attraverso il ciclo di vita del plug-in CMS durante l'installazione o l'aggiornamento.
  • Non sono inclusi npm, Vite, Tailwind, Node, marketplace, pagamenti, licenze, installazione remota o aggiornamento automatico.