Expand my Community achievements bar.

Guidelines for the Responsible Use of Generative AI in the Experience Cloud Community.

Page content is getting cached inside doc root folder directly with pagename instead of /content/projetname/pagename (fullpath))

Avatar

Level 3

Hi All,

 

Ideally, the page should get cached with its full path.

The page content is getting cached inside the doc root folder of the dispatcher directly with the page Name instead of /content/projetname/pagename.

Not sure what configurations are wrong. 

 

Thanks in advance.

7 Replies

Avatar

Employee Advisor

when you write "should get cached", do you mean cached at the dispatcher level?

 

The dispatcher caches files with its full path (taken from the URL) below the configured docroot. That means:

I am not aware of any configuration on the dispatcher to change that. (Of course you can use mod_rewrite to rewrite the path of the incoming request to something convenient, but that's mod_rewrite and not dispatcher.)

Avatar

Level 3

Issue is that, it is not creating .stat file for the cached folders other than /content in the $DOCROOT.
When I hit the page https://www.hostname.internal/product/page1 , it creates cached page page1 inside the folder product but there is no .stat file created under product folder.
I have set the statfilelevel to 3.

/statfileslevel "3"

 

Avatar

Employee Advisor

when you replicate that page (and therefor trigger an invalidation), at which directory is the closest .stat file?

Avatar

Level 3

Thanks for reply @Jörg_Hoh 
Right now it is at Doc Root level.
My Doc Root is set to /mnt/var/www/html
I can see the .stat file inside html folder but not inside the product folder
I can see the closest .stat file inside html folder.

For page hit- https://www.hostname.internal/product/page1
The Structure is
/mnt/var/www --> html  (.stat file) --> product(no stat file) --> page1.html


My statfilelevel is set to 3

Avatar

Employee Advisor

Where did you configure the statfilelevel? It's only respected in the farm which is used by the invalidation requests.

Avatar

Level 10

Hi @nasrinj114 ,

It sounds like the caching behavior of the Dispatcher is not configured correctly. By default, the Dispatcher caches content based on the URL path, which should include the full path to the page content.

Here are a few things you can check to troubleshoot the issue:

1. Check the caching rules in the Dispatcher configuration file: Make sure that the caching rules in the `dispatcher.any` file are configured correctly. The caching rules should include the full path to the page content. For example, the `cache` section should include a rule like this:

```
/cache
{
/rules
{
/0000
{
/glob "*"
/type "allow"
}
}
/docroot "/path/to/docroot"
}
```

2. Check the cache root directory: Make sure that the cache root directory is set correctly in the `dispatcher.any` file. The cache root directory should be set to a directory that is writable by the Dispatcher process. For example:

```
/cache
{
/root "/path/to/cache/root"
}
```

3. Check the permissions of the cache root directory: Make sure that the cache root directory has the correct permissions. The Dispatcher process should have write access to the cache root directory.

4. Check the URL paths in the page content: Make sure that the page content includes the correct URL paths. The URL paths should include the full path to the page content, including the project name. For example:

```
<link rel="stylesheet" href="/content/myproject/mypage.css">
```

If you have checked all of the above and the issue still persists, it would be helpful to review the logs of the Dispatcher and the web server to see if there are any error messages or warnings related to caching.

Avatar

Administrator

@nasrinj114 Did you find the suggestions from users helpful? Please let us know if you require more information. Otherwise, please mark the answer as correct for posterity. If you have found out solution yourself, please share it with the community.



Kautuk Sahni