2016-08-04 56 views
0

我有一个网站,最近有点忙。我推出了一款免费的演示版本的应用程序,该应用程序的下载量很大。大约1天后,一个600kb的文件每天产生110GB的流量。所以我成功地使用htaccess将所有文件重定向到另一台服务器。奇怪的301重定向需要.htaccess

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^subdomain.mydomain.com [NC,OR] 
RewriteCond %{HTTP_HOST} ^www.subdomain.mydomain.com [NC] 
RewriteRule ^(.*)$ http://newdomain.com/myfolder/$1 [L,R=301,NC] 

所以这很好,我的服务器不太忙。但是我制作了一台能够从服务器获取各种屏幕的艺术和背景的机器,以便我可以随时添加新图像,并且机器将全部下载/缓存/显示它们。我只是在启用目录列表的情况下这样做。他们都是jpg。我预计这个流量很快就会激增,所以我想将这些图片存储在亚马逊S3的存储桶中。使用直接链接,我可以访问图像没有问题。但我需要我的机器来查看我发现亚马逊没有真正做到的目录列表。我有一个目录列表使用脚本,但它似乎只能在计算机Web浏览器中工作。这让我感到奇怪的要求。

有没有办法让我的所有客户机器都能从hxxp://mydomain.com/folder获取目录列表,但是301下载时只有在重定向时才踢入?

所以机器送行旧的服务器列表,但是当一个文件被下载

1.JPG =新主机 2.JPG =新主机

预先感谢您。

回答

0

您可以使用:

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^(www.)?subdomain.mydomain.com [NC] 
RewriteRule ^(.+\.jpe?g)$ http://newdomain.com/myfolder/$1 [L,R=301,NC] 
+1

非常感谢你。我应该提到所有图像都在子域的子目录中,因此我在每个子文件夹中创建了一个.htaccess文件,以将它们重定向到S3存储桶内各自的子文件夹,如下所示: 'RewriteEngine on RewriteCond%{HTTP_HOST} ^(www 。)?subdomain.mydomain.com [NC] RewriteRule ^(。+ \。jpe?g)$ https://s3-us-west-2.amazonaws.com/S3bucket/subfolder/$1 [L,R = 301,NC]' –