Follow Up

CloudFront 403s.

<RoutingRules>
    <RoutingRule>
        <Condition>
            <KeyPrefixEquals>blog/setup.html</KeyPrefixEquals>
        </Condition>
        <Redirect>
            <ReplaceKeyPrefixWith>blog/2013/1/setup-notes.html</ReplaceKeyPrefixWith>
        </Redirect>
    </RoutingRule>
</RoutingRules>

This works from my S3 bucket:

$ curl -D /dev/stdout -so /dev/null http://www.jamiebriant.com.s3-website-us-east-1.amazonaws.com/blog/setup.html
HTTP/1.1 301 Moved Permanently
x-amz-id-2: Pilj4iVRfwcYaLa38wI3L4YaDLzLhzTfggkUXXQwkGlcorCyOnt5fU/QNI0Wrm0I
x-amz-request-id: 15423D2EBD028298
Date: Sun, 10 Mar 2013 20:55:52 GMT
Location: http://www.jamiebriant.com.s3-website-us-east-1.amazonaws.com/blog/2013/1/setup-notes.html
Content-Length: 0
Server: AmazonS3

But from the CloudFront URL:

$ curl -D /dev/stdout -so /dev/null http://www.jamiebriant.com/blog/setup.htmlHTTP/1.0 403 Forbidden
Content-Type: application/xml
Content-Length: 231
Connection: keep-alive
x-amz-request-id: 00A05AD767D136B9
x-amz-id-2: hy2UTR5fu4a2txRp5hFdO34DbRybHydQwe8HyByuHoOhy20GrIAvWOFTGyBbzqjj
Date: Sun, 10 Mar 2013 20:52:06 GMT
Server: AmazonS3
Age: 253
X-Amz-Cf-Id: YO6CCB1eOrgt3RGtVIsbY6eD8iHwTVK5qSw5d0hVtO67XNTWLZ7fdQ==
Via: 1.0 27701e3e6b9cb8f3835ec1068649e271.cloudfront.net (CloudFront)
X-Cache: Error from cloudfront

Lets try this then:

<RoutingRules>
    <RoutingRule>
        <Condition>
            <KeyPrefixEquals>blog/setup.html</KeyPrefixEquals>
        </Condition>
        <Redirect>
            <HostName>www.jamiebriant.com</HostName>
            <ReplaceKeyPrefixWith>blog/2013/1/setup-notes.html</ReplaceKeyPrefixWith>
        </Redirect>
    </RoutingRule>
</RoutingRules>

$ curl -D /dev/stdout -so /dev/null http://www.jamiebriant.com.s3-website-us-east-1.amazonaws.com/blog/setup.html
HTTP/1.1 301 Moved Permanently
x-amz-id-2: fn7oKE763hvQoNAA/RBHZzXOPZrSgiHmri9aK7DmZTcK7urgZ793sqke7TyXZanw
x-amz-request-id: E386D6EDF8BEAF39
Date: Sun, 10 Mar 2013 20:58:05 GMT
Location: http://www.jamiebriant.com/blog/2013/1/setup-notes.html
Content-Length: 0
Server: AmazonS3

$ curl -D /dev/stdout -so /dev/null http://www.jamiebriant.com/blog/setup.html
HTTP/1.0 403 Forbidden
Content-Type: application/xml
Connection: close
x-amz-request-id: 5E7D8CA11357FE82
x-amz-id-2: uwFOOrUYew8PkwVFmUiPQe1A8MQpSSNSGx1rOUQJWwfQHSz/yap7CxWMaflKzADS
Date: Sun, 10 Mar 2013 21:06:17 GMT
Server: AmazonS3
X-Amz-Cf-Id: znOaZpBJwYW18vEitvhBjhsLOxoK4jGEwAz11UhEcvRJKfc9uUI2wg==
Via: 1.0 cff9911a0035fa608bcaa4e9709161b3.cloudfront.net (CloudFront)
X-Cache: Error from cloudfront