La mappatura delle risorse viene utilizzata per definire reindirizzamenti, URL personalizzati e host virtuali per AEM.
Ad esempio, è possibile utilizzare queste mappature per:
/content
in modo che la struttura interna sia nascosta ai visitatori del 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 di questo tipo potrebbe essere utilizzata per nascondere la struttura interna dai visitatori al sito Web, così come consente:
localhost:4503/content/geometrixx/en/products.html
per l’accesso tramite:
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 regolari.
Per ulteriori informazioni, consulta la documentazione Sling e Mappature per la risoluzione delle risorse e Risorse.
Le mappature sono 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) nell'opzione JCR ResourceResolver della console Felix; ad esempio, https://<host>:<port>/system/console/jcrresolver
:
Configurazione
Mostra la configurazione corrente (come definito per il Risolutore risorse Apache Sling.
Test di configurazione
Consente di inserire un URL o un percorso di risorsa. Fare clic su Resolve o Map per confermare come il sistema trasformerà la voce.
Risolutore
Voci mappaElenco di voci utilizzate dai metodi ResourceResolver.resolve per mappare gli URL sulle 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, comprese quelle definite come predefinite dalle applicazioni. Spesso con lo scopo di semplificare gli URL per l’utente.
Gli elenchi associano un Pattern, un'espressione regolare associata 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 mapping.
Sono disponibili numerose risorse che spiegano come definire le espressioni regolari; ad esempio https://www.regular-expressions.info/.
In un’installazione standard di AEM potete 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 qualsiasi altro protocollo da mappare.
Per creare la mappatura che prefissa qualsiasi richiesta a http://localhost:4503/ con /content
:
Utilizzando CRXDE, passare 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.
A questo nodo sono state aggiunte le seguenti proprietà:
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à di sling disponibili e su come configurarle, vedere Resources nella documentazione Sling.
Potete utilizzare /etc/map.publish
per mantenere le configurazioni dell'ambiente di pubblicazione. 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.