Nel caso in cui il sito web hosting è abilitato per il secchio, v'è un modo alternativo per aggiungere 301 reindirizzamento. In base a ciò le regole di reindirizzamento sono descritte a livello di bucket in formato XML e possono essere specificate nelle proprietà di bucket tramite AWS S3 Console (sezione Static Website Hosting). Attualmente è disponibile la documentazione completa sulla sua sintassi here.
Questo approccio è utile quando si hanno enormi movimenti di URL per quanto è più facile gestire tutti i reindirizzamenti in un unico punto. Per esempio è possibile definire regole di reindirizzamento
<RoutingRule>
<Condition>
<KeyPrefixEquals>index.php</KeyPrefixEquals>
</Condition>
<Redirect>
<ReplaceKeyWith>index.html</ReplaceKeyWith>
</Redirect>
</RoutingRule>
<RoutingRule>
<Condition>
<KeyPrefixEquals>blog.php?id=21</KeyPrefixEquals>
</Condition>
<Redirect>
<ReplaceKeyWith>mysql-utf-8-database-creation-snippet.html</ReplaceKeyWith>
</Redirect>
</RoutingRule>
Sembra che sia lo stesso di creazione di oggetti falsi e specificando x-AMZ-sito-reindirizzamento-location metadati per loro. Le cattive notizie sono che non ci possono essere più di 50 regole di questo tipo in XML per un bucket. E sì, non è conveniente gestire XML. Ma per me in questo modo è più facile al momento. Ancora una volta, perché è più facile gestire tutti i file in un unico posto.
Questo approccio XML è estremamente utile quando, per esempio, viene rinominata una directory con molte pagine. In questo caso è necessario creare una singola regola di reindirizzamento per la directory, anziché una regola separata per ogni pagina al suo interno. Per esempio
<RoutingRule>
<Condition>
<KeyPrefixEquals>blog/</KeyPrefixEquals>
</Condition>
<Redirect>
<ReplaceKeyPrefixWith>it-blog/</ReplaceKeyPrefixWith>
</Redirect>
</RoutingRule>
Secondo questa regola example.com/blog/whatever
verrà reindirizzato a example.com/it-blog/whatever
.
Un'altra utile caratteristica di tale approccio è che sostituisce solo prefissi. Allo stesso modo delle directory è possibile reindirizzare la pagina, ma salvare i parametri di ricerca. Potrebbe essere adatto se c'è qualche elaborazione JS di questi parametri di query . Con i metadati di x-amz-website-redirect-location probabilmente li perderai.
Come ho già detto, scrivere e leggere XML potrebbe essere sconveniente. Per superare questo ho scritto a simple online tool in GWT a convertire testo semplice con ex e nuovi URL in formato XML. Utilizza il predicato KeyPrefixEquals
ed esegue il reindirizzamento ReplaceKeyPrefixWith
.
Infine, in base a documentation, se l'hosting del sito Web è disabilitato, il supporto per il reindirizzamento non è applicabile per questo bucket.
Ti è bene una soluzione ideale a questo? – Daveo
Questa funzionalità è stata appena aggiunta. Vedi la mia risposta qui sotto. – Layke
Dovresti accettare una risposta qui. – Gray