是否可以将Amazon S3服务器上的404错误重定向到我自己的服务器?这是我网站上的案例:
用户上传了一个名为abc.jpg的文件。我有一组图像类型,例如裁剪或拇指。
当有人访问/img/abc.crop.jpg时,网络服务器会检查并查找文件/img/abc.crop.jpg。如果他们找到了,网络服务器将抛出该文件。
但是当程序找不到该文件时,这个.htaccess文件会将它路由到程序:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
所以它将转到index.php / img / abc.crop.jpg,其中“img”控制器/程序将查找abc.jpg并在img文件夹上生成一个名为abc.crop.jpg的文件。因此,下次另一个用户访问abc.crop.jpg时,程序不再需要重新生成文件。
现在,当我使用Amazon S3时,我必须逐个生成所有不同的尺寸(裁剪,拇指等)以避免404错误。上述技术的目的是节省空间。我希望流量与当前条件保持一致。任何人都知道如何操纵S3 404错误,以便他们将重定向到我的服务器? IE浏览器。 http://bucket.s3.amazonaws.com/img/abc.crop.jpg重定向到http://mysite.com/img/abc.crop.jpg?
答案 0 :(得分:0)
这是我确定404错误的解决方法。
file-not-found.jpg
$result = $s3->getObject(array(
'Bucket' => 'my bucket',
'Key' => 'path/to/file'
));
file-not-found.jpg
答案 1 :(得分:-1)
如果您使用的是codeigniter,请查看保留的路由http://codeigniter.com/user_guide/general/routing.html。您可以为任何404错误指定特定的控制器。