Anda dapat mengonfigurasi bucket untuk menghosting website statis. Setelah konfigurasi selesai, permintaan ke titik akhir website akan menyajikan konten dari bucket tersebut, serta secara otomatis mengarahkan Anda ke halaman utama default dan halaman 404 default yang telah ditentukan.
Catatan penggunaan
Topik ini menggunakan titik akhir publik wilayah China (Hangzhou). Untuk mengakses OSS dari layanan Alibaba Cloud lainnya dalam wilayah yang sama, gunakan titik akhir internal. Untuk informasi selengkapnya mengenai wilayah dan titik akhir yang didukung, lihat Regions and endpoints.
Pada topik ini, instans OSSClient dibuat menggunakan titik akhir OSS. Jika Anda ingin membuat instans OSSClient menggunakan nama domain kustom atau Security Token Service (STS), lihat Create an OssClient.
Untuk menggunakan kit pengembangan perangkat lunak (SDK) dalam konfigurasi website statis, Anda harus terlebih dahulu memanggil operasi PutBucketWebsite. Untuk informasi selengkapnya, lihat PutBucketWebsite.
Untuk mengonfigurasi static website hosting, Anda harus memiliki izin
oss:PutBucketWebsite. Untuk melihat konfigurasi static website hosting, Anda harus memiliki izinoss:GetBucketWebsite. Untuk menghapus konfigurasi static website hosting, Anda harus memiliki izinoss:DeleteBucketWebsite. Untuk informasi selengkapnya, lihat Common examples of RAM policies.
Konfigurasikan static website hosting
Kode berikut menunjukkan cara mengonfigurasi static website hosting:
<?php
if (is_file(__DIR__ . '/../autoload.php')) {
require_once __DIR__ . '/../autoload.php';
}
if (is_file(__DIR__ . '/../vendor/autoload.php')) {
require_once __DIR__ . '/../vendor/autoload.php';
}
use OSS\Credentials\EnvironmentVariableCredentialsProvider;
use OSS\OssClient;
use OSS\CoreOssException;
use OSS\Model\WebsiteConfig;
// Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah disetel.
$provider = new EnvironmentVariableCredentialsProvider();
// Titik akhir wilayah China (Hangzhou) digunakan dalam contoh ini. Tentukan titik akhir yang sebenarnya.
$endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
// Tentukan nama bucket. Misalnya, examplebucket.
$bucket= "examplebucket";
// Tetapkan halaman utama default menjadi index.html dan halaman 404 default menjadi error.html.
$websiteConfig = new WebsiteConfig("index.html", "error.html");
try {
$config = array(
"provider" => $provider,
"endpoint" => $endpoint,
"signatureVersion" => OssClient::OSS_SIGNATURE_VERSION_V4,
"region"=> "cn-hangzhou"
);
$ossClient = new OssClient($config);
$ossClient->putBucketWebsite($bucket, $websiteConfig);
} catch (OssException $e) {
printf(__FUNCTION__ . ": FAILED\n");
printf($e->getMessage() . "\n");
return;
}
print(__FUNCTION__ . ": OK" . "\n");
Lihat konfigurasi static website hosting
Kode berikut menunjukkan cara melihat konfigurasi static website hosting:
<?php
if (is_file(__DIR__ . '/../autoload.php')) {
require_once __DIR__ . '/../autoload.php';
}
if (is_file(__DIR__ . '/../vendor/autoload.php')) {
require_once __DIR__ . '/../vendor/autoload.php';
}
use OSS\Credentials\EnvironmentVariableCredentialsProvider;
use OSS\OssClient;
use OSS\CoreOssException;
// Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah disetel.
$provider = new EnvironmentVariableCredentialsProvider();
// Titik akhir wilayah China (Hangzhou) digunakan dalam contoh ini. Tentukan titik akhir yang sebenarnya.
$endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
// Tentukan nama bucket. Misalnya, examplebucket.
$bucket= "examplebucket";
$websiteConfig = null;
try{
$config = array(
"provider" => $provider,
"endpoint" => $endpoint,
"signatureVersion" => OssClient::OSS_SIGNATURE_VERSION_V4,
"region"=> "cn-hangzhou"
);
$ossClient = new OssClient($config);
// Lihat konfigurasi static website hosting.
$websiteConfig = $ossClient->getBucketWebsite($bucket);
} catch(OssException $e) {
printf(__FUNCTION__ . ": FAILED\n");
printf($e->getMessage() . "\n");
return;
}
print(__FUNCTION__ . ": OK" . "\n");
print($websiteConfig->serializeToXml() . "\n"); Hapus konfigurasi static website hosting
Kode berikut menunjukkan cara menghapus konfigurasi static website hosting:
<?php
if (is_file(__DIR__ . '/../autoload.php')) {
require_once __DIR__ . '/../autoload.php';
}
if (is_file(__DIR__ . '/../vendor/autoload.php')) {
require_once __DIR__ . '/../vendor/autoload.php';
}
use OSS\Credentials\EnvironmentVariableCredentialsProvider;
use OSS\OssClient;
use OSS\CoreOssException;
// Dapatkan kredensial akses dari variabel lingkungan. Sebelum menjalankan kode contoh ini, pastikan variabel lingkungan OSS_ACCESS_KEY_ID dan OSS_ACCESS_KEY_SECRET telah disetel.
$provider = new EnvironmentVariableCredentialsProvider();
// Titik akhir wilayah China (Hangzhou) digunakan dalam contoh ini. Tentukan titik akhir yang sebenarnya.
$endpoint = "https://oss-cn-hangzhou.aliyuncs.com";
// Tentukan nama bucket. Misalnya, examplebucket.
$bucket= "examplebucket";
try{
$config = array(
"provider" => $provider,
"endpoint" => $endpoint,
"signatureVersion" => OssClient::OSS_SIGNATURE_VERSION_V4,
"region"=> "cn-hangzhou"
);
$ossClient = new OssClient($config);
// Hapus konfigurasi static website hosting.
$ossClient->deleteBucketWebsite($bucket);
} catch(OssException $e) {
printf(__FUNCTION__ . ": FAILED\n");
printf($e->getMessage() . "\n");
return;
}
print(__FUNCTION__ . ": OK" . "\n"); Referensi
Untuk kode contoh lengkap mengenai static website hosting, lihat GitHub examples.
Untuk informasi selengkapnya mengenai operasi API untuk mengonfigurasi static website hosting, lihat PutBucketWebsite.
Untuk informasi selengkapnya mengenai operasi API untuk melihat konfigurasi static website hosting, lihat GetBucketWebsite.
Untuk informasi selengkapnya mengenai operasi API untuk menghapus konfigurasi static website hosting, lihat DeleteBucketWebsite.