簡體   English   中英

S3 PutBucketWebsite AWS PHP SDK

[英]S3 PutBucketWebsite AWS PHP SDK

我想在AWS S3中創建一個純重定向存儲桶,我確信s3client可以正常運行。

$subdomain = 'test.example.com';
$redirectURL = 'https://www.somedomain.com/redirect?someparam';
$bucketID = $s3->createBucket(['Bucket' => $bucket ]);
$arg = array(
                'Bucket' => $bucket, // REQUIRED
                'WebsiteConfiguration' => array( // REQUIRED
                    'ErrorDocument' => array( 'Key' => 'err.html', ),
                    'IndexDocument' => array( 'Suffix' => 'index.html', ),
                    'RedirectAllRequestsTo' => array('HostName' => $redirectURL, ),
                    'RoutingRules' => array(
                                        array(                                        
                                            'Redirect' => array(
                                                'HostName' => $redirectURL,
                                                'HttpRedirectCode' => '301',
                                            ),
                                        ),
                                    ),
                ),
            );
$result = $s3->putBucketWebsite($arg);

但是,即使我嘗試更改其他設置,它也會輸出以下錯誤。

> Request ID E00C517E4F812581 
Error Type client 
Error Code MalformedXML

我想知道是否需要添加任何隱藏設置。

RedirectAllRequestsToErrorDocumentIndexDocumentRoutingRules 如果將所有內容重定向到其他地方,則不會評估錯誤或索引文檔,也不會應用路由規則。

RedirectAllRequestsTo

描述對此存儲桶的網站端點的每個請求的重定向行為。 如果存在此元素,則不允許其他同級。

類型:容器

祖先:WebsiteConfiguration

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

最終我得到了解決方案,它有效

$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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM