Cache problems

I have to manually clear browser cache in order to show most changes on my site (Chrome)

this can be anything from moving a page block in admin, changing order of nav menu, down to front end actions such as adding a blog post to an existing blog etc...

 

I have all caching turned off in dolphin settings to rule this out, but still have the issue.

VERY frustrating and cannot launch a site with this issue.

 

Any ideas?

Quote · 13 Aug 2014

Same thing in Firefox, although I don't have to clear the cache, just refresh the screen twice...

Example - I make a blog post, save, go to Blogs home - which displays latest posts and it doesnt show.

Refresh page and it shows...

This will confuse a lot of site users!!!

Quote · 13 Aug 2014

No difference if I use dolphin caching or not. Same problem exists with and without...

Quote · 13 Aug 2014

That is very strange.

Does this happens on other PC's?

ManOfTeal.COM a Proud UNA site, six years running strong!
Quote · 13 Aug 2014

happens on my iphone as well as desktop.

Quote · 13 Aug 2014

 

happens on my iphone as well as desktop.

 are you using any other cache than file

ManOfTeal.COM a Proud UNA site, six years running strong!
Quote · 13 Aug 2014

What's the big deal? I always dump all the cache on any core changes as a matter of habit. It just makes sense. Quit yer bitchin! (lol)

http://towtalk.net ... Hosted by Zarconia.net!
Quote · 14 Aug 2014

"moving a page block in admin" - make sure cache field for block is set at 0

Admin actions, I can halfway understand. As habit - even with cachs turned off - I also clear cache manually. But front-end actions - that's an odd one. The only thing I can think of is maybe the page block that displays the blogs has a cache set at greater than 0.

caredesign.net
Quote · 14 Aug 2014

There are only two possibilities i can think of.

1) Either DB caching is still on in dolphin and you have all the page blocks cache value in page builder set to a value higher than 0.

Or

2) You have a 3'rd party external caching/reverse proxy system such as Cloudflare, Akamai, or Amazon Cloudfront or a number of other content delivery networks

https://www.deanbassett.com
Quote · 14 Aug 2014

http://web-sniffer.net/

screenshot of the response headers for your site address in full like http://mysite.com/

so much to do....
Quote · 14 Aug 2014

 shows no cache, what does 'must revalidate' mean though?

HTTP Response Header

Name Value Delim
Status: HTTP/1.1 200 OK
Date: Thu, 14 Aug 2014 10:59:46 GMT  
Server: Apache/2.2.27 (Unix) mod_ssl/2.2.27 OpenSSL/1.0.1e-fips DAV/2 mod_bwlimited/1.4  
X-Powered-By: PHP/5.3.28  
Expires: Thu, 19 Nov 1981 08:52:00 GMT  
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0  
Pragma: no-cache  
Set-Cookie: memberSession=RdX3CVY3A8yR%3DQzLs6qAL%215ZQY769K3q; path=/; httponly  
Set-Cookie: PHPSESSID=748c4ee357b5d412c0e5936b504b934d; path=/  
Vary: Accept-Encoding  
Content-Encoding: gzip  
Cache-Control: max-age=600, private, must-revalidate  
Content-Length: 7236  
Connection: close  
Content-Type: text/html; charset=utf-8  

http://web-sniffer.net/

screenshot of the response headers for your site address in full like http://mysite.com/

 

Quote · 14 Aug 2014

There is a second cache-control header later after the first one. So there is caching going on.

https://www.deanbassett.com
Quote · 14 Aug 2014

 I have no idea whats causing that. 

I've not set any additional caching up to my knowledge,

The site is clean 7.1 install, has had a couple of templates installed for testing, and a couple of modules that are new for me to use. 

Other than that its all standard.

templates - 'HyperNova' and 'Neo'

Modules - 'Evo Wall' and 'PKforum'

everything else on it is older modules that I know are not caching anything...

I still have the same cache issue no matter what template I switch to, even on Uni. Although, in order to switch to another template, I have to clear all browser cache and refresh a couple of times!...

There is a second cache-control header later after the first one. So there is caching going on.

 

Quote · 14 Aug 2014

Im going to setup a clean install in a subfolder of my site, test that... then install everything one by one and see if anything triggers this!...

Quote · 14 Aug 2014

It does not seem to be related to your site, but more of a server-side caching. Contact your host again and have them check everything for any added cache like APC or Memcache, or any other

caredesign.net
Quote · 14 Aug 2014

Setup a clean install, default dolphin cache is on 

exact same problem.

If I do anything, front  end of back end, it does not show until I either clear browser cache or refresh browser a couple of times.

 

this is the result using websniffer, nothing additional installed or done on this install at all.

never had this problem up until now!

Name Value Delim
Status: HTTP/1.1 200 OK
Date: Thu, 14 Aug 2014 14:49:39 GMT  
Server: Apache/2.2.27 (Unix) mod_ssl/2.2.27 OpenSSL/1.0.1e-fips DAV/2 mod_bwlimited/1.4  
X-Powered-By: PHP/5.3.28  
Set-Cookie: memberSession=cmR%3FMSsBvPrv.wrqhEV54Z4ED4zanjjd; path=/D/; httponly  
Cache-Control: max-age=600, private, must-revalidate  
Expires: Thu, 14 Aug 2014 14:59:39 GMT  
Vary: Accept-Encoding  
Content-Encoding: gzip  
Content-Length: 5732  
Connection: close  
Content-Type: text/html; charset=utf-8  
Quote · 14 Aug 2014

Dedicated server, nothing changed on hosting and confirmed by host company also...

confused at what is causing this on a clean install of Dolphin.

Quote · 14 Aug 2014

post your .htaccess content

so much to do....
Quote · 14 Aug 2014

Options -MultiViews -Indexes

 

<IfModule mod_php4.c> 

    php_flag register_globals Off

</IfModule>

<IfModule mod_php5.c> 

    php_flag allow_url_include Off

    php_flag register_globals Off

</IfModule>

 

<IfModule mod_rewrite.c>

RewriteEngine on

 

RewriteRule ^blogs/{0,1}$   modules/boonex/blogs/blogs.php [QSA,L]

RewriteRule ^blogs/all/{0,1}$  modules/boonex/blogs/blogs.php?action=all  [QSA,L]

RewriteRule ^blogs/all/([0-9]+)/([0-9]+)/{0,1}$  modules/boonex/blogs/blogs.php?page=$2&per_page=$1  [QSA,L]

RewriteRule ^blogs/top/{0,1}$   modules/boonex/blogs/blogs.php?action=top_blogs [QSA,L]

RewriteRule ^blogs/top/([0-9]+)/([0-9]+)/{0,1}$   modules/boonex/blogs/blogs.php?action=top_blogs&page=$2&per_page=$1 [QSA,L]

RewriteRule ^blogs/top_posts/{0,1}$   modules/boonex/blogs/blogs.php?action=top_posts [QSA,L]

RewriteRule ^blogs/top_posts/([0-9]+)/([0-9]+)/{0,1}$   modules/boonex/blogs/blogs.php?action=top_posts&page=$2&per_page=$1 [QSA,L]

RewriteRule ^blogs/tag/([^/.]+)/{0,1}$   modules/boonex/blogs/blogs.php?action=search_by_tag&tagKey=$1 [QSA,L]

RewriteRule ^blogs/tag/{0,1}$   modules/boonex/blogs/blogs.php?action=search_by_tag&tagKey= [QSA,L]

RewriteRule ^blogs/posts/([^/.]+)/tag/([^/.]+)/{0,1}$   modules/boonex/blogs/blogs.php?action=search_by_tag&tagKey=$2&ownerName=$1 [QSA,L]

RewriteRule ^blogs/posts/([^/.]+)/category/([^/.]+)/{0,1}$   modules/boonex/blogs/blogs.php?action=show_member_blog&ownerName=$1&categoryUri=$2 [QSA,L]

RewriteRule ^blogs/entry/([^/.]+)/{0,1}$   modules/boonex/blogs/blogs.php?action=show_member_post&postUri=$1 [QSA,L]

RewriteRule ^blogs/entry/{0,1}$    modules/boonex/blogs/blogs.php?action=show_member_post&postUri= [QSA,L]

RewriteRule ^blogs/posts/([^/.]+)/{0,1}$   modules/boonex/blogs/blogs.php?action=show_member_blog&ownerName=$1 [QSA,L]

RewriteRule ^blogs/posts/{0,1}$   modules/boonex/blogs/blogs.php?action=show_member_blog&ownerName= [QSA,L]

RewriteRule ^blogs/posts/([^/.]+)/([0-9]+)/([0-9]+)/{0,1}$   modules/boonex/blogs/blogs.php?action=show_member_blog&ownerName=$1&page=$3&per_page=$2 [QSA,L]

RewriteRule ^blogs/posts/([^/.]+)/category/([^/.]+)/([0-9]+)/([0-9]+)/{0,1}$   modules/boonex/blogs/blogs.php?action=show_member_blog&ownerName=$1&categoryUri=$2&page=$4&per_page=$3 [QSA,L]

RewriteRule ^blogs/home/{0,1}$   modules/boonex/blogs/blogs.php?action=home [QSA,L]

RewriteRule ^blogs/all_posts/{0,1}$   modules/boonex/blogs/blogs.php?action=all_posts [QSA,L]

RewriteRule ^blogs/all_posts/([0-9]+)/([0-9]+)/{0,1}$   modules/boonex/blogs/blogs.php?action=all_posts&page=$2&per_page=$1 [QSA,L]

RewriteRule ^blogs/popular_posts/{0,1}$   modules/boonex/blogs/blogs.php?action=popular_posts [QSA,L]

RewriteRule ^blogs/popular_posts/([0-9]+)/([0-9]+)/{0,1}$   modules/boonex/blogs/blogs.php?action=popular_posts&page=$2&per_page=$1 [QSA,L]

RewriteRule ^blogs/featured_posts/{0,1}$   modules/boonex/blogs/blogs.php?action=featured_posts [QSA,L]

RewriteRule ^blogs/tags/{0,1}$   modules/boonex/blogs/blogs.php?action=tags [QSA,L]

RewriteRule ^blogs/show_calendar/{0,1}$   modules/boonex/blogs/blogs.php?action=show_calendar [QSA,L]

RewriteRule ^blogs/my_page/{0,1}$   modules/boonex/blogs/blogs.php?action=my_page&mode=main [QSA,L]

RewriteRule ^blogs/my_page/add/{0,1}$   modules/boonex/blogs/blogs.php?action=my_page&mode=add [QSA,L]

RewriteRule ^blogs/my_page/manage/{0,1}$   modules/boonex/blogs/blogs.php?action=my_page&mode=manage [QSA,L]

RewriteRule ^blogs/my_page/pending/{0,1}$   modules/boonex/blogs/blogs.php?action=my_page&mode=pending [QSA,L]

RewriteRule ^blogs/my_page/edit/([0-9]+)/{0,1}$  modules/boonex/blogs/blogs.php?action=edit_post&EditPostID=$1 [QSA,L]

RewriteRule ^blogs/member_posts/([0-9]+)/{0,1}$   modules/boonex/blogs/blogs.php?action=show_member_blog&ownerID=$1 [QSA,L]

RewriteRule ^blogs/category/([^/.]+)/{0,1}$   modules/boonex/blogs/blogs.php?action=category&uri=$1 [QSA,L]

 

RewriteRule ^ads/{0,1}$  modules/boonex/ads/classifieds.php?Browse=1 [QSA,L]

RewriteRule ^ads/my_page/{0,1}$  modules/boonex/ads/classifieds.php?action=my_page [QSA,L]

RewriteRule ^ads/my_page/add/{0,1}$  modules/boonex/ads/classifieds.php?action=my_page&mode=add [QSA,L]

RewriteRule ^ads/my_page/edit/([0-9]+)/{0,1}$  modules/boonex/ads/classifieds.php?action=my_page&mode=add&EditPostID=$1 [QSA,L]

RewriteRule ^ads/my_page/edit/([0-9]+)/dimg/([0-9]+)/{0,1}$  modules/boonex/ads/classifieds.php?action=my_page&mode=add&EditPostID=$1&dimg=$2 [QSA,L]

RewriteRule ^ads/my_page/manage/{0,1}$  modules/boonex/ads/classifieds.php?action=my_page&mode=manage [QSA,L]

RewriteRule ^ads/my_page/pending/{0,1}$  modules/boonex/ads/classifieds.php?action=my_page&mode=pending [QSA,L]

RewriteRule ^ads/my_page/expired/{0,1}$  modules/boonex/ads/classifieds.php?action=my_page&mode=expired [QSA,L]

RewriteRule ^ads/my_page/disapproved/{0,1}$  modules/boonex/ads/classifieds.php?action=my_page&mode=disapproved [QSA,L]

RewriteRule ^ads/cat/([^/.]+)/{0,1}$  modules/boonex/ads/classifieds.php?catUri=$1 [QSA,L]

RewriteRule ^ads/all/cat/([0-9]+)/([0-9]+)/([^/.]+)/{0,1}$  modules/boonex/ads/classifieds.php?catUri=$3&page=$2&per_page=$1 [QSA,L]

RewriteRule ^ads/subcat/([^/.]+)/{0,1}$  modules/boonex/ads/classifieds.php?scatUri=$1 [QSA,L]

RewriteRule ^ads/all/subcat/([0-9]+)/([0-9]+)/([^/.]+)/{0,1}$  modules/boonex/ads/classifieds.php?scatUri=$3&page=$2&per_page=$1 [QSA,L]

RewriteRule ^ads/entry/([^/.]+)/{0,1}$  modules/boonex/ads/classifieds.php?entryUri=$1 [QSA,L]

RewriteRule ^ads/tag/([^/.]+)/{0,1}$  modules/boonex/ads/classifieds_tags.php?tag=$1 [QSA,L]

RewriteRule ^ads/calendar/{0,1}$  modules/boonex/ads/classifieds.php?action=show_calendar [QSA,L]

RewriteRule ^ads/categories/{0,1}$  modules/boonex/ads/classifieds.php?action=show_categories [QSA,L]

RewriteRule ^ads/tags/{0,1}$  modules/boonex/ads/classifieds.php?action=tags [QSA,L]

RewriteRule ^ads/all_ads/{0,1}$  modules/boonex/ads/classifieds.php?action=show_all_ads [QSA,L]

RewriteRule ^ads/top_ads/{0,1}$  modules/boonex/ads/classifieds.php?action=show_top_rated [QSA,L]

RewriteRule ^ads/popular_ads/{0,1}$  modules/boonex/ads/classifieds.php?action=show_popular [QSA,L]

RewriteRule ^ads/featured_ads/{0,1}$  modules/boonex/ads/classifieds.php?action=show_featured [QSA,L]

RewriteRule ^ads/member_ads/([0-9]+)/{0,1}$  modules/boonex/ads/classifieds.php?UsersOtherListing=1&IDProfile=$1 [QSA,L]

 

RewriteRule ^search/tag/([^/.]+)/{0,1}$  search.php?Tags=$1 [QSA,L]

 

RewriteRule ^browse/([^/.]+)/([^/.]+)/([^/.]+)$ browse.php?sex=$1&age=$2&country=$3 [QSA,L]

 

RewriteRule ^m/(.*)$  modules/index.php?r=$1 [QSA,L]

 

RewriteRule ^forum/blogs/(.*)$  modules/boonex/forum/$1?orca_integration=blogs [QSA,L]

RewriteRule ^forum/groups/(.*)$  modules/boonex/forum/$1?orca_integration=groups [QSA,L]

RewriteRule ^forum/events/(.*)$  modules/boonex/forum/$1?orca_integration=events [QSA,L]

RewriteRule ^forum/store/(.*)$  modules/boonex/forum/$1?orca_integration=store [QSA,L]

RewriteRule ^forum/$  modules/boonex/forum/index.php [QSA,L]

RewriteRule ^forum/(.*)$  modules/boonex/forum/$1 [QSA,L]

 

RewriteRule ^page/(.*)$  viewPage.php?ID=$1 [QSA,L]

 

RewriteCond %{REQUEST_FILENAME} -f [OR]

RewriteCond %{REQUEST_FILENAME} -d

RewriteRule .+ - [L]

RewriteRule ^([^/]+)$ profile.php?ID=$1 [QSA,L]

 

</IfModule>

 

AddType application/vnd.adobe.air-application-installer-package+zip .air

AddType application/x-shockwave-flash .swf

AddOutputFilterByType DEFLATE text/html

AddOutputFilterByType DEFLATE text/plain

AddOutputFilterByType DEFLATE text/xml

AddOutputFilterByType DEFLATE text/css

AddOutputFilterByType DEFLATE text/javascript

AddOutputFilterByType DEFLATE application/x-javascript

AddOutputFilterByType DEFLATE application/xml

AddOutputFilterByType DEFLATE application/x-httpd-php

 

# BEGIN Compress text files

<ifModule mod_deflate.c>

  <filesMatch "\.(css|js|x?html?|php)$">

    SetOutputFilter DEFLATE

  </filesMatch>

</ifModule>

# END Compress text files

 

# BEGIN Expire headers

<ifModule mod_expires.c>

  ExpiresActive On

  ExpiresDefault "access plus 1 seconds"

  ExpiresByType image/x-icon "access plus 2592000 seconds"

  ExpiresByType image/jpeg "access plus 2592000 seconds"

  ExpiresByType image/png "access plus 2592000 seconds"

  ExpiresByType image/gif "access plus 2592000 seconds"

  ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"

  ExpiresByType text/css "access plus 604800 seconds"

  ExpiresByType text/javascript "access plus 216000 seconds"

  ExpiresByType application/javascript "access plus 216000 seconds"

  ExpiresByType application/x-javascript "access plus 216000 seconds"

  ExpiresByType text/html "access plus 600 seconds"

  ExpiresByType application/xhtml+xml "access plus 600 seconds"

</ifModule>

# END Expire headers

 

# BEGIN Cache-Control Headers

<ifModule mod_headers.c>

  <filesMatch "\.(ico|jpe?g|png|gif|swf)$">

    Header set Cache-Control "max-age=2592000, public"

  </filesMatch>

  <filesMatch "\.(css)$">

    Header set Cache-Control "max-age=604800, public"

  </filesMatch>

  <filesMatch "\.(js)$">

    Header set Cache-Control "max-age=216000, private"

  </filesMatch>

  <filesMatch "\.(x?html?|php)$">

    Header set Cache-Control "max-age=600, private, must-revalidate"

  </filesMatch>

</ifModule>

# END Cache-Control Headers

 

# BEGIN Turn ETags Off

<ifModule mod_headers.c>

  Header unset ETag

</ifModule>

FileETag None

# END Turn ETags Off

 

# BEGIN Remove Last-Modified Header

<ifModule mod_headers.c>

  Header unset Last-Modified

</ifModule>

# END Remove Last-Modified Header

Quote · 14 Aug 2014

That's your problem. That's not a default dolphin .htaccess file. You have a lot of extra caching and compression stuff thats at the bottom. That is what is telling the browsers to cache things.

https://www.deanbassett.com
Quote · 14 Aug 2014

2 things, 

1 - Im not sure how this all got there... is this added when modules / templates are installed? 

None of this I have added myself.

 

2 - how does this then explain the clean install of D that  I have setup since this thread that is acting the exact same way!?

The clean install has a default htaccess

 

the 'additional' in the main htaccess is below

 

 

AddOutputFilterByType DEFLATE text/html

AddOutputFilterByType DEFLATE text/plain

AddOutputFilterByType DEFLATE text/xml

AddOutputFilterByType DEFLATE text/css

AddOutputFilterByType DEFLATE text/javascript

AddOutputFilterByType DEFLATE application/x-javascript

AddOutputFilterByType DEFLATE application/xml

AddOutputFilterByType DEFLATE application/x-httpd-php

 

# BEGIN Compress text files

<ifModule mod_deflate.c>

  <filesMatch "\.(css|js|x?html?|php)$">

    SetOutputFilter DEFLATE

  </filesMatch>

</ifModule>

# END Compress text files

 

# BEGIN Expire headers

<ifModule mod_expires.c>

  ExpiresActive On

  ExpiresDefault "access plus 1 seconds"

  ExpiresByType image/x-icon "access plus 2592000 seconds"

  ExpiresByType image/jpeg "access plus 2592000 seconds"

  ExpiresByType image/png "access plus 2592000 seconds"

  ExpiresByType image/gif "access plus 2592000 seconds"

  ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"

  ExpiresByType text/css "access plus 604800 seconds"

  ExpiresByType text/javascript "access plus 216000 seconds"

  ExpiresByType application/javascript "access plus 216000 seconds"

  ExpiresByType application/x-javascript "access plus 216000 seconds"

  ExpiresByType text/html "access plus 600 seconds"

  ExpiresByType application/xhtml+xml "access plus 600 seconds"

</ifModule>

# END Expire headers

 

# BEGIN Cache-Control Headers

<ifModule mod_headers.c>

  <filesMatch "\.(ico|jpe?g|png|gif|swf)$">

    Header set Cache-Control "max-age=2592000, public"

  </filesMatch>

  <filesMatch "\.(css)$">

    Header set Cache-Control "max-age=604800, public"

  </filesMatch>

  <filesMatch "\.(js)$">

    Header set Cache-Control "max-age=216000, private"

  </filesMatch>

  <filesMatch "\.(x?html?|php)$">

    Header set Cache-Control "max-age=600, private, must-revalidate"

  </filesMatch>

</ifModule>

# END Cache-Control Headers

 

# BEGIN Turn ETags Off

<ifModule mod_headers.c>

  Header unset ETag

</ifModule>

FileETag None

# END Turn ETags Off

 

# BEGIN Remove Last-Modified Header

<ifModule mod_headers.c>

  Header unset Last-Modified

</ifModule>

# END Remove Last-Modified Header

Quote · 14 Aug 2014

as an after thought... the clean install I just setup for testing was in a folder after my main site

would this then still read the htaccess of the main site?

I though not but cant see how else it would be an issue still if this additional htaccess content is the cause...

Quote · 14 Aug 2014

removing all that in htaccess doesnt make a difference...

Quote · 14 Aug 2014

Sites in sub folders can inherit the settings from the parent .htaccess as well. So the parent .htaccess needs to be cleared of all that as well.

However, even after that is done, dolphins cache and the browser cache would need to be cleared at least once to get rid of the current cached contents.

Then run the site though http://web-sniffer.net/ again. The max-age=600 for html and php files was in that .htaccess file, so that has to be the cause.

https://www.deanbassett.com
Quote · 14 Aug 2014

Actually, it does look like it works... with the code removed from htaccess, admin end changes are now showing real time.

Front end, everything seems to be showing real time apart from in 1 module...

This was the module that most of my testing was being done within!...

Will contact module writer to see what their response is. 

Testing in other modules seems to work fine, just the one that is not showing changes correctly.

I think there were further issues with this module also as it doesnt show correct actions numbers where it should even after deleting some content.

Quote · 14 Aug 2014

 

Actually, it does look like it works... with the code removed from htaccess, admin end changes are now showing real time.

Front end, everything seems to be showing real time apart from in 1 module...

This was the module that most of my testing was being done within!...

Will contact module writer to see what their response is. 

Testing in other modules seems to work fine, just the one that is not showing changes correctly.

I think there were further issues with this module also as it doesnt show correct actions numbers where it should even after deleting some content.

 

You still may need to clear caches a couple of times. Many things like JS and CSS do not like to go away on the first attempt. It should clear up after a while tho. I am pretty sure that was the issue.

I have made attempts to use all those things google recommends in the .htaccess a couple of times in the past. They just don't work on dynamic sites with content that keeps changing.

https://www.deanbassett.com
Quote · 14 Aug 2014

 

Testing in other modules seems to work fine, just the one that is not showing changes correctly.

If it's a modules page block that is not updating, then check the block in page builders can see if it's cache value is set to 0

https://www.deanbassett.com
Quote · 14 Aug 2014

I think its resolved now, after removing all that additional htaccess code.

Any suggestions as to what put that code there as I certainly didn't...

Quote · 15 Aug 2014

 

I think its resolved now, after removing all that additional htaccess code.

Any suggestions as to what put that code there as I certainly didn't...

Somebody work on your site? Those are the recommended changes by BoonEx to further optimize things on the web server end.

BoonEx Certified Host: Zarconia.net - Fully Supported Shared and Dedicated for Dolphin
Quote · 16 Aug 2014
 
 
Below is the legacy version of the Boonex site, maintained for Dolphin.Pro 7.x support.
The new Dolphin solution is powered by UNA Community Management System.