Using language prefix on all nodes, e.g. http://example.com/en/my/path (let's say it's node/123).
On the Cache Expiration tab of the given node all checkboxes are on.

On edit and save of a page the page is NOT expired from external cache (Varnish, with Purge).

The Watchdog message contains (among others) these URLs:
URL: node/123
Wildcard: false
Expired object: node
--------
URL: my/path
Wildcard: false
Expired object: node

I then tried manual expiration via command line and found:
curl -X PURGE -H "Host: example.com" http://127.0.0.1:80/my/path -> cache NOT cleared
curl -X PURGE -H "Host: example.com" http://127.0.0.1:80/en/my/path -> cache CLEARED

So it seems to me that there is a problem with including the language prefix in the expired URLs.

NB "Include base URL in expires" is UNchecked because of the help text "Enabling this setting when Varnish (link is external) or Acquia Purge (link is external) modules are used as a cache backend is not recommended."
So as I use Varnish module, I should keep it unchecked, right?

Comments

Vacilando’s picture

Issue summary: View changes
Spleshka’s picture

Hm, that is probably issue of varnish module?.. I am really not sure which module is responsible for this issue. I remember there was an issue that for integration with varnish, expire module should send only internal paths like my/path. And the rest should be done by varnish/purge modules. Anyway, I will take some time for research. Would be nice if you could join it as well.

das-peter’s picture

joelpittet’s picture

Status: Active » Closed (duplicate)

The problem seems to be duplicate, closing in favour of the one with the patch. #3