Mike
Mike

Reputation: 340

How can I specify a path pattern of "/" in a CloudFront behavior?

I have a CloudFront distribution with an S3 origin. I want to create a behavior such that requests to the root path of the site will use a different origin (a webservice).

So ideally my behaviors would be:

However, the above doesn't seem to work - the root request isn't caught by the first behavior.

Is there any way I can accomplish what I want using path patterns?

Upvotes: 9

Views: 12277

Answers (2)

claptimes
claptimes

Reputation: 1717

In addition to clearing my default root object like the other answer says, I had to set a different cache policy for my two behaviors. This was because CloudFront was using default cache key for the object.

I first added a custom header to my origin configurations enter image description here

And then I made a new cache policy which referenced this custom header in the cache key.

enter image description here

Upvotes: 0

craigts
craigts

Reputation: 3067

The answer is that a Cache Behavior with a Path Pattern of '/' does work to only match the root url. In this particular case, the user also had a default root object set which gets matched before the behavior patterns. Removing the default root object is necessary if you wish to define a cache behavior on the root url using the '/' pattern.

Upvotes: 12

Related Questions