Bug Report
We're experiencing some un-expected behaviour, that i can reproduce on a fresh Craft & Blitz install. Make sure server rewrites are active.
- Create a section, only title field is enough, and create a twig view for it, so we can serve it
- Create an entry with title
tëst, so the slug will also have the ë
- View in browser, and the cache (db & file) will be generated as expected
CraftCP, Blitz diagnostics, Tracked Pages:

Generated cache file:

Then in the browser, change the url and request the page without te ë, so like: /test. The following happens:
- CraftCP, Blitz diagnostics, Tracked Page "tëst", is overwritten by slug
test
- The new page-cache is generated
So the situation is as follows:
CraftCP, Blitz diagnostics, Tracked Pages:

Changed from tëst to test
Generated cache file:

Both pages are here
When we now change the contents of the entry, Blitz will only update the current Tracked Page test, and leave the generated other cache file as is. So when we request the entry with the original url /tëst, it will serve the generated old cache via the server rewrite, and it's never refreshed.
Is there a setting we're missing, or is this an (un)known issue?
Hope you can help me. Thanks in advance!
Best regards,
Jan
Diagnostics Report
Application Info
- PHP version: 8.3.30
- Craft edition & version: Solo 5.10.3
- Database driver & version: MySQL 8.0.40
Installed Plugins
Loaded Modules
- sprig-core: putyourlightson\sprig\Sprig
Blitz Plugin Settings
{
"debug": false,
"hintsEnabled": false,
"cachingEnabled": true,
"refreshCacheEnabled": true,
"refreshMode": 0,
"includedUriPatterns": [
{
"enabled": "1",
"uriPattern": ".*"
}
],
"excludedUriPatterns": [],
"cacheStorageType": "putyourlightson\\blitz\\drivers\\storage\\FileStorage",
"cacheStorageSettings": {
"folderPath": "@webroot\/cache\/blitz",
"compressCachedValues": ""
},
"cacheStorageTypes": [],
"cacheGeneratorType": "putyourlightson\\blitz\\drivers\\generators\\HttpGenerator",
"cacheGeneratorSettings": {
"concurrency": "3",
"useBasicAuth": "",
"username": "",
"password": ""
},
"cacheGeneratorTypes": [],
"customSiteUris": [],
"cachePurgerType": "putyourlightson\\blitz\\drivers\\purgers\\DummyPurger",
"cachePurgerSettings": [],
"cachePurgerTypes": [],
"deployerType": "putyourlightson\\blitz\\drivers\\deployers\\DummyDeployer",
"deployerSettings": [],
"deployerTypes": [],
"ssiEnabled": true,
"ssiTagFormat": "<!--#include virtual=\"{uri}\" -->",
"detectSsiEnabled": true,
"esiEnabled": false,
"cachedIncludePathParam": "p",
"onlyCacheLowercaseUris": false,
"cacheActionRequests": false,
"queryStringCaching": 1,
"includedQueryStringParams": [
{
"enabled": "1",
"queryStringParam": ".*"
}
],
"excludedQueryStringParams": [
{
"enabled": "1",
"queryStringParam": "gclid"
},
{
"enabled": "1",
"queryStringParam": "fbclid"
}
],
"apiKey": "",
"generatePagesWithQueryStringParams": true,
"purgeAssetImagesWhenChanged": true,
"refreshCacheAutomaticallyForGlobals": true,
"refreshCacheWhenElementMovedInStructure": true,
"refreshCacheWhenElementSavedUnchanged": false,
"refreshCacheWhenElementSavedNotLive": false,
"refreshExpiredCacheAfterVisit": true,
"cacheNonHtmlResponses": false,
"trackElements": true,
"trackElementQueries": true,
"excludedTrackedElementQueryParams": [],
"cacheDuration": null,
"nonCacheableElementTypes": [],
"sourceIdAttributes": [],
"liveStatuses": [],
"integrations": [
"putyourlightson\\blitz\\drivers\\integrations\\CommerceIntegration",
"putyourlightson\\blitz\\drivers\\integrations\\DatastarIntegration",
"putyourlightson\\blitz\\drivers\\integrations\\SeomaticIntegration"
],
"defaultCacheControlHeader": "no-store",
"cacheControlHeader": "public, s-maxage=31536000, max-age=0",
"cacheControlHeaderExpired": "public, s-maxage=5, max-age=0",
"sendPoweredByHeader": true,
"outputComments": true,
"refreshCacheJobPriority": 10,
"driverJobBatchSize": 100,
"driverJobPriority": 100,
"queueJobTtr": 300,
"maxRetryAttempts": 10,
"maxUriLength": 2048,
"maxUriIndexLength": 767,
"mutexTimeout": 1,
"commands": [],
"injectScriptEvent": "DOMContentLoaded",
"injectScriptPosition": 3
}
Recommendations
- ❌ Image transforms are configured not to be generated before page load.
- ❌ Queue jobs are configured to run automatically via web requests.
- ✅ Blitz is configured not to refresh cached pages when an element is saved but unchanged.
- ✅ Blitz is configured not to refresh cached pages when an element is saved but not live.
- ✅ No globals exist.
- ✅ The @web alias is not used in the base URL of any sites.
- ✅ The Async Queue plugin is not installed or enabled.
- ✅ The blitz/cache/refresh-expired console command has been executed within the past 24 hours.
Site Tracking
- Tracked Pages: 1
- Tracked Includes: 0
- Tracked Actions: 0
- Tracked Query String Params: 0
- Tracked Elements: 1
- Tracked Element Queries: 0
- Tracked Tags: 0
Bug Report
We're experiencing some un-expected behaviour, that i can reproduce on a fresh Craft & Blitz install. Make sure server rewrites are active.
tëst, so the slug will also have theëCraftCP, Blitz diagnostics, Tracked Pages:


Generated cache file:
Then in the browser, change the url and request the page without te
ë, so like:/test. The following happens:testSo the situation is as follows:
CraftCP, Blitz diagnostics, Tracked Pages:


Changed from
tësttotestGenerated cache file:
Both pages are here
When we now change the contents of the entry, Blitz will only update the current Tracked Page
test, and leave the generated other cache file as is. So when we request the entry with the original url/tëst, it will serve the generated old cache via the server rewrite, and it's never refreshed.Is there a setting we're missing, or is this an (un)known issue?
Hope you can help me. Thanks in advance!
Best regards,
Jan
Diagnostics Report
Application Info
Installed Plugins
Loaded Modules
Blitz Plugin Settings
{ "debug": false, "hintsEnabled": false, "cachingEnabled": true, "refreshCacheEnabled": true, "refreshMode": 0, "includedUriPatterns": [ { "enabled": "1", "uriPattern": ".*" } ], "excludedUriPatterns": [], "cacheStorageType": "putyourlightson\\blitz\\drivers\\storage\\FileStorage", "cacheStorageSettings": { "folderPath": "@webroot\/cache\/blitz", "compressCachedValues": "" }, "cacheStorageTypes": [], "cacheGeneratorType": "putyourlightson\\blitz\\drivers\\generators\\HttpGenerator", "cacheGeneratorSettings": { "concurrency": "3", "useBasicAuth": "", "username": "", "password": "" }, "cacheGeneratorTypes": [], "customSiteUris": [], "cachePurgerType": "putyourlightson\\blitz\\drivers\\purgers\\DummyPurger", "cachePurgerSettings": [], "cachePurgerTypes": [], "deployerType": "putyourlightson\\blitz\\drivers\\deployers\\DummyDeployer", "deployerSettings": [], "deployerTypes": [], "ssiEnabled": true, "ssiTagFormat": "<!--#include virtual=\"{uri}\" -->", "detectSsiEnabled": true, "esiEnabled": false, "cachedIncludePathParam": "p", "onlyCacheLowercaseUris": false, "cacheActionRequests": false, "queryStringCaching": 1, "includedQueryStringParams": [ { "enabled": "1", "queryStringParam": ".*" } ], "excludedQueryStringParams": [ { "enabled": "1", "queryStringParam": "gclid" }, { "enabled": "1", "queryStringParam": "fbclid" } ], "apiKey": "", "generatePagesWithQueryStringParams": true, "purgeAssetImagesWhenChanged": true, "refreshCacheAutomaticallyForGlobals": true, "refreshCacheWhenElementMovedInStructure": true, "refreshCacheWhenElementSavedUnchanged": false, "refreshCacheWhenElementSavedNotLive": false, "refreshExpiredCacheAfterVisit": true, "cacheNonHtmlResponses": false, "trackElements": true, "trackElementQueries": true, "excludedTrackedElementQueryParams": [], "cacheDuration": null, "nonCacheableElementTypes": [], "sourceIdAttributes": [], "liveStatuses": [], "integrations": [ "putyourlightson\\blitz\\drivers\\integrations\\CommerceIntegration", "putyourlightson\\blitz\\drivers\\integrations\\DatastarIntegration", "putyourlightson\\blitz\\drivers\\integrations\\SeomaticIntegration" ], "defaultCacheControlHeader": "no-store", "cacheControlHeader": "public, s-maxage=31536000, max-age=0", "cacheControlHeaderExpired": "public, s-maxage=5, max-age=0", "sendPoweredByHeader": true, "outputComments": true, "refreshCacheJobPriority": 10, "driverJobBatchSize": 100, "driverJobPriority": 100, "queueJobTtr": 300, "maxRetryAttempts": 10, "maxUriLength": 2048, "maxUriIndexLength": 767, "mutexTimeout": 1, "commands": [], "injectScriptEvent": "DOMContentLoaded", "injectScriptPosition": 3 }Recommendations
Site Tracking