La mappatura delle risorse viene utilizzata per definire reindirizzamenti, URL personalizzati e host virtuali per AEM.
Ad esempio, puoi utilizzare queste mappature per:
/content
a tutte le richieste affinché la struttura interna sia nascosta ai visitatori del tuo sito web./content/en/gateway
del sito web vengano reindirizzate a https://gbiv.com/
.Una possibile mappatura HTTP prefissa tutte le richieste a localhost:4503 con /content. Una mappatura come questa può essere utilizzata per nascondere la struttura interna dai visitatori al sito web in quanto consente:
localhost:4503/content/geometrixx/en/products.html
da accedere utilizzando:
localhost:4503/geometrixx/en/products.html
poiché la mappatura aggiunge automaticamente il prefisso /content
a /geometrixx/en/products.html
.
Gli URL personalizzati non supportano i pattern regex.
Per ulteriori informazioni, consulta la documentazione Sling e Mappature per la risoluzione delle risorse e Risorse .
Le mappature sono costituite da due elenchi che il risolutore risorse JCR valuta (dall’alto verso il basso) per trovare una corrispondenza.
Questi elenchi possono essere visualizzati (insieme alle informazioni di configurazione) sotto l'opzione JCR ResourceResolver della console Felix; ad esempio, https://<host>:<port>/system/console/jcrresolver
:
Configurazione
Mostra la configurazione corrente (come definita per Apache Sling Resource Resolver.
Test di configurazione
Consente di immettere un URL o un percorso di risorsa. Fai clic su Risolvi o Mappa per confermare come il sistema trasformerà la voce.
Resolver Mappa
VociL'elenco di voci utilizzate dai metodi ResourceResolver.resolve per mappare gli URL alle risorse.
Mappatura
voci mappaElenco di voci utilizzate dai metodi ResourceResolver.map per mappare i percorsi delle risorse agli URL.
I due elenchi mostrano varie voci, incluse quelle definite come predefinite dalle applicazioni. Spesso mirano a semplificare gli URL per l’utente.
Gli elenchi associano un Pattern, un'espressione regolare corrispondente alla richiesta, con un Sostituzione che definisce il reindirizzamento da imporre.
Ad esempio:
Pattern ^[^/]+/[^/]+/welcome$
attiverà:
Sostituzione /libs/cq/core/content/welcome.html
.
per reindirizzare una richiesta:
http://localhost:4503/welcome
a:
http://localhost:4503/libs/cq/core/content/welcome.html
All'interno dell'archivio vengono create nuove definizioni di mappatura.
Sono disponibili numerose risorse che spiegano come definire le espressioni regolari; ad esempio https://www.regular-expressions.info/.
In un’installazione standard di AEM è possibile trovare la cartella:
/etc/map/http
Questa è la struttura utilizzata per definire le mappature per il protocollo HTTP. È possibile creare altre cartelle ( sling:Folder
) in /etc/map
per tutti gli altri protocolli da mappare.
Per creare la mappatura che prefissa eventuali richieste a http://localhost:4503/ con /content
:
Utilizzando CRXDE passa a /etc/map/http
.
Crea un nuovo nodo:
Tipo sling:Mapping
Questo tipo di nodo è destinato a tali mappature, anche se il suo utilizzo non è obbligatorio.
Nome localhost_any
Fare clic su Salva tutto.
Aggiungi le seguenti proprietà a questo nodo:
Nome sling:match
String
localhost.4503/
Nome sling:internalRedirect
String
/content/
Fare clic su Salva tutto.
Questo gestirà una richiesta come:
localhost:4503/geometrixx/en/products.html
come se:
localhost:4503/content/geometrixx/en/products.html
era stato richiesto.
Per ulteriori informazioni sulle proprietà sling disponibili e su come configurarle, consulta Resources nella documentazione Sling .
Puoi utilizzare /etc/map.publish
per conservare le configurazioni per l’ambiente di pubblicazione. Questi devono quindi essere replicati e la nuova posizione ( /etc/map.publish
) configurata per la posizione di mappatura di Apache Sling Resource Resolver dell'ambiente di pubblicazione.