2015-10-29 1 views
0

Je voudrais créer un seau de redirection pur dans AWS S3, je suis sûr que le s3client est opérationnel sans problèmes. Cependant, il a produit une erreur de sortie même si j'ai essayé de modifier d'autres paramètres.S3 PutBucketWebsite AWS PHP SDK

> Request ID E00C517E4F812581 
Error Type client 
Error Code MalformedXML 

Je me demande s'il y a des paramètres cachés que je dois ajouter.

Répondre

0

RedirectAllRequestsTo est mutuellement exclusif avec ErrorDocument, IndexDocument et RoutingRules. Si vous redirigez tout ailleurs, il n'y aura pas d'évaluation des documents d'erreur ou d'index, et les règles de routage ne seront pas applicables.

RedirectAllRequestsTo

décrit le comportement de redirection pour chaque demande au point final d'un site Web de ce seau. Si cet élément est présent, aucun autre frère n'est autorisé.

Type: Conteneur

ancêtres: WebsiteConfiguration

http://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTwebsite.html

+0

$ array arg = ( 'seau' => $ bucket, // OBLIGATOIRE 'WebsiteConfiguration' => array ( 'RedirectAllRequestsTo' => array ('HostName' => $ redirectURL,), ), ); $ resultat = $ s3-> putBucketWebsite ($ arg); – NetDreamLand

+0

cependant j'ai changé les choses ci-dessus, c'est toujours MalformedXML – NetDreamLand

0

enfin je suis la solution par cela, il fonctionne

$subdomain = 'test.example.com'; 
$protocol = 'https'; 
$redirectURL = 'www.somedomain.com/redirect?someparam'; 
$bucketID = $s3->createBucket(['Bucket' => $bucket ]); 
$arg = array(
    'Bucket' => $bucket, 
    'WebsiteConfiguration' => array( 
     'RedirectAllRequestsTo' => array('HostName' => $redirectURL, 'Protocol'=>$protocol),    
    ), 
); 
$result = $s3->putBucketWebsite($arg);