Enable static file cache for pages
This commit is contained in:
+103
@@ -2881,6 +2881,109 @@ AddDefaultCharset utf-8
|
|||||||
RewriteRule (.*) https://%{HTTP_HOST}/$1 [R=301,L]
|
RewriteRule (.*) https://%{HTTP_HOST}/$1 [R=301,L]
|
||||||
# End force https
|
# End force https
|
||||||
|
|
||||||
|
### Begin: Static File Cache (preparation) ####
|
||||||
|
|
||||||
|
# Document root configuration
|
||||||
|
RewriteRule .* - [E=SFC_ROOT:%{DOCUMENT_ROOT}]
|
||||||
|
# RewriteRule .* - [E=SFC_ROOT:%{DOCUMENT_ROOT}/t3site] # Example if your installation is installed in a directory
|
||||||
|
|
||||||
|
# Cleanup URI
|
||||||
|
RewriteCond %{REQUEST_URI} ^.*$
|
||||||
|
RewriteRule .* - [E=SFC_URI:/%{REQUEST_URI}]
|
||||||
|
RewriteCond %{REQUEST_URI} ^/.*$
|
||||||
|
RewriteRule .* - [E=SFC_URI:%{REQUEST_URI}]
|
||||||
|
RewriteCond %{REQUEST_URI} ^/?$
|
||||||
|
RewriteRule .* - [E=SFC_URI:/]
|
||||||
|
|
||||||
|
# Cleanup HOST
|
||||||
|
RewriteCond %{HTTP_HOST} ^([^:]+)(:[0-9]+)?$
|
||||||
|
RewriteRule .* - [E=SFC_HOST:%1]
|
||||||
|
|
||||||
|
# Get scheme
|
||||||
|
RewriteCond %{SERVER_PORT} ^443$ [OR]
|
||||||
|
RewriteCond %{HTTP:X-Forwarded-Proto} https
|
||||||
|
RewriteRule .* - [E=SFC_PROTOCOL:https]
|
||||||
|
RewriteCond %{SERVER_PORT} !^443$
|
||||||
|
RewriteCond %{HTTP:X-Forwarded-Proto} !https
|
||||||
|
RewriteRule .* - [E=SFC_PROTOCOL:http]
|
||||||
|
|
||||||
|
# Get port (not used at the moment)
|
||||||
|
RewriteRule .* - [E=SFC_PORT:80]
|
||||||
|
RewriteCond %{SERVER_PORT} ^[0-9]*$ [OR]
|
||||||
|
RewriteRule .* - [E=SFC_PORT:%{SERVER_PORT}]
|
||||||
|
|
||||||
|
# Check if the requested file exists in the cache, otherwise default to index.html that
|
||||||
|
# set in an environment variable that is used later on
|
||||||
|
RewriteCond %{ENV:SFC_ROOT}/typo3temp/tx_staticfilecache/%{ENV:SFC_PROTOCOL}/%{ENV:SFC_HOST}%{ENV:SFC_URI} !-f
|
||||||
|
RewriteRule .* - [E=SFC_FILE:index.html]
|
||||||
|
|
||||||
|
# Note: https://github.com/lochmueller/staticfilecache/pull/90 (Please check the realurl configuration related to "appendMissingSlash". Perhaps you need an additional "/" in the rule above)
|
||||||
|
# RewriteRule .* - [E=SFC_FILE:/index.html]
|
||||||
|
|
||||||
|
# Set gzip extension into an environment variable if the visitors browser can handle gzipped content and the gz-file exists
|
||||||
|
RewriteRule .* - [E=SFC_GZIP:]
|
||||||
|
RewriteCond %{HTTP:Accept-Encoding} gzip [NC]
|
||||||
|
RewriteRule .* - [E=SFC_GZIP:.gz]
|
||||||
|
RewriteCond %{ENV:SFC_ROOT}/typo3temp/tx_staticfilecache/%{ENV:SFC_PROTOCOL}/%{ENV:SFC_HOST}%{ENV:SFC_URI}%{ENV:SFC_FILE}%{ENV:SFC_GZIP} !-f
|
||||||
|
RewriteRule .* - [E=SFC_GZIP:]
|
||||||
|
|
||||||
|
# Note: We cannot check realurl "appendMissingSlash" or other BE related settings here - in front of the delivery.
|
||||||
|
# Perhaps you have to check the "SFC_FILE" value and set it to your related configution e.g. "index.html" (without leading slash).
|
||||||
|
# More information at: https://github.com/lochmueller/staticfilecache/pull/28
|
||||||
|
|
||||||
|
### Begin: Static File Cache (main) ####
|
||||||
|
|
||||||
|
# We only redirect URI's without query strings
|
||||||
|
RewriteCond %{QUERY_STRING} ^$
|
||||||
|
|
||||||
|
# It only makes sense to do the other checks if a static file actually exists.
|
||||||
|
RewriteCond %{ENV:SFC_ROOT}/typo3temp/tx_staticfilecache/%{ENV:SFC_PROTOCOL}/%{ENV:SFC_HOST}%{ENV:SFC_URI}%{ENV:SFC_FILE}%{ENV:SFC_GZIP} -f
|
||||||
|
|
||||||
|
# NO frontend or backend user is logged in. Logged in users may see different
|
||||||
|
# information than anonymous users. But the anonymous version is cached. So
|
||||||
|
# don't show the anonymous version to logged in users.
|
||||||
|
RewriteCond %{HTTP_COOKIE} !staticfilecache [NC]
|
||||||
|
|
||||||
|
# Uncomment the following line if you use MnoGoSearch
|
||||||
|
#RewriteCond %{HTTP:X-TYPO3-mnogosearch} ^$
|
||||||
|
|
||||||
|
# We only redirect GET requests
|
||||||
|
RewriteCond %{REQUEST_METHOD} GET
|
||||||
|
|
||||||
|
# Rewrite the request to the static file.
|
||||||
|
RewriteRule .* %{ENV:SFC_ROOT}/typo3temp/tx_staticfilecache/%{ENV:SFC_PROTOCOL}/%{ENV:SFC_HOST}%{ENV:SFC_URI}%{ENV:SFC_FILE}%{ENV:SFC_GZIP} [L]
|
||||||
|
|
||||||
|
# Do not allow direct call the cache entries
|
||||||
|
RewriteCond %{ENV:SFC_URI} ^/typo3temp/tx_staticfilecache/.*
|
||||||
|
RewriteCond %{ENV:REDIRECT_STATUS} ^$
|
||||||
|
RewriteRule .* - [F,L]
|
||||||
|
|
||||||
|
### Begin: Static File Cache (options) ####
|
||||||
|
|
||||||
|
# Set proper content type and encoding for gzipped html.
|
||||||
|
<FilesMatch "\.gz">
|
||||||
|
<IfModule mod_headers.c>
|
||||||
|
Header set Content-Encoding gzip
|
||||||
|
</IfModule>
|
||||||
|
</FilesMatch>
|
||||||
|
|
||||||
|
# if there are same problems with ForceType, please try the AddType alternative
|
||||||
|
# Set proper content type gzipped html
|
||||||
|
<FilesMatch "\.html\.gz">
|
||||||
|
ForceType text/html
|
||||||
|
# AddType "text/html" .gz
|
||||||
|
</FilesMatch>
|
||||||
|
<FilesMatch "\.xml\.gz">
|
||||||
|
ForceType text/xml
|
||||||
|
# AddType "text/xml" .gz
|
||||||
|
</FilesMatch>
|
||||||
|
<FilesMatch "\.rss\.gz">
|
||||||
|
ForceType text/xml
|
||||||
|
# AddType "text/xml" .gz
|
||||||
|
</FilesMatch>
|
||||||
|
|
||||||
|
### End: Static File Cache ###
|
||||||
|
|
||||||
# Begin TYPO3 default rules
|
# Begin TYPO3 default rules
|
||||||
RewriteCond $0#%{REQUEST_URI} ([^#]*)#(.*)\1$
|
RewriteCond $0#%{REQUEST_URI} ([^#]*)#(.*)\1$
|
||||||
RewriteRule ^.*$ - [E=CWD:%2]
|
RewriteRule ^.*$ - [E=CWD:%2]
|
||||||
|
|||||||
+2
-1
@@ -65,7 +65,8 @@
|
|||||||
"fluidtypo3/vhs": "^4.3",
|
"fluidtypo3/vhs": "^4.3",
|
||||||
"webdevops/metaseo": "3.0.0",
|
"webdevops/metaseo": "3.0.0",
|
||||||
"helhum/typo3-console": "^4.9",
|
"helhum/typo3-console": "^4.9",
|
||||||
"gridelementsteam/gridelements": "^8.2"
|
"gridelementsteam/gridelements": "^8.2",
|
||||||
|
"lochmueller/staticfilecache": "^6.1"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"typo3-cms-scripts": [
|
"typo3-cms-scripts": [
|
||||||
|
|||||||
Generated
+71
-1
@@ -4,7 +4,7 @@
|
|||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"content-hash": "5f4841fc9f952af0dcb544320b4a975f",
|
"content-hash": "704a682f0763cbf02432d1c508b9cd17",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "christophlehmann/imageoptimizer",
|
"name": "christophlehmann/imageoptimizer",
|
||||||
@@ -1322,6 +1322,76 @@
|
|||||||
],
|
],
|
||||||
"time": "2013-03-15T13:16:35+00:00"
|
"time": "2013-03-15T13:16:35+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "lochmueller/staticfilecache",
|
||||||
|
"version": "6.1.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/lochmueller/staticfilecache.git",
|
||||||
|
"reference": "ba7c92ffce903a89068971aa4c9428fe80193f3a"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/lochmueller/staticfilecache/zipball/ba7c92ffce903a89068971aa4c9428fe80193f3a",
|
||||||
|
"reference": "ba7c92ffce903a89068971aa4c9428fe80193f3a",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"ext-pdo": "*",
|
||||||
|
"ext-zlib": "*",
|
||||||
|
"php": ">=7.0.0",
|
||||||
|
"typo3/cms-core": "~8.7.0||~9.4.0||~9.5.0||dev-master"
|
||||||
|
},
|
||||||
|
"replace": {
|
||||||
|
"staticfilecache": "self.version",
|
||||||
|
"typo3-ter/staticfilecache": "self.version"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"friendsofphp/php-cs-fixer": "^2.12",
|
||||||
|
"phpmd/phpmd": "^2.6",
|
||||||
|
"phpmetrics/phpmetrics": "^2.4",
|
||||||
|
"scrutinizer/ocular": "^1.3.0",
|
||||||
|
"squizlabs/php_codesniffer": "^3.3",
|
||||||
|
"typo3/testing-framework": "~2.0.4||~4.2.0"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"aoepeople/crawler": "For crawling the site and warmup the cache",
|
||||||
|
"friendsofsymfony/http-cache": "For HTTP proxy cache services like Varnish"
|
||||||
|
},
|
||||||
|
"type": "typo3-cms-extension",
|
||||||
|
"extra": {
|
||||||
|
"typo3/cms": {
|
||||||
|
"cms-package-dir": "{$vendor-dir}/typo3/cms",
|
||||||
|
"web-dir": ".Build/Web"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"SFC\\Staticfilecache\\": "Classes"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"GPL-2.0+"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Tim Lochmüller",
|
||||||
|
"email": "[email protected]",
|
||||||
|
"homepage": "https://github.com/lochmueller",
|
||||||
|
"role": "Developer"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Transparent static file cache solution using mod_rewrite and mod_expires. Increase performance for static pages by a factor of 230!!",
|
||||||
|
"homepage": "https://github.com/lochmueller/staticfilecache",
|
||||||
|
"keywords": [
|
||||||
|
"Static file cache",
|
||||||
|
"TYPO3 CMS",
|
||||||
|
"magic",
|
||||||
|
"speed"
|
||||||
|
],
|
||||||
|
"time": "2018-09-20T16:58:53+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "matthiasmullie/minify",
|
"name": "matthiasmullie/minify",
|
||||||
"version": "1.3.60",
|
"version": "1.3.60",
|
||||||
|
|||||||
+103
@@ -305,6 +305,109 @@ AddDefaultCharset utf-8
|
|||||||
# NOTE: Add your additional local storages here
|
# NOTE: Add your additional local storages here
|
||||||
RewriteRule ^(?:typo3/|fileadmin/|typo3conf/|typo3temp/|uploads/|favicon\.ico) - [L]
|
RewriteRule ^(?:typo3/|fileadmin/|typo3conf/|typo3temp/|uploads/|favicon\.ico) - [L]
|
||||||
|
|
||||||
|
### Begin: Static File Cache (preparation) ####
|
||||||
|
|
||||||
|
# Document root configuration
|
||||||
|
RewriteRule .* - [E=SFC_ROOT:%{DOCUMENT_ROOT}]
|
||||||
|
# RewriteRule .* - [E=SFC_ROOT:%{DOCUMENT_ROOT}/t3site] # Example if your installation is installed in a directory
|
||||||
|
|
||||||
|
# Cleanup URI
|
||||||
|
RewriteCond %{REQUEST_URI} ^.*$
|
||||||
|
RewriteRule .* - [E=SFC_URI:/%{REQUEST_URI}]
|
||||||
|
RewriteCond %{REQUEST_URI} ^/.*$
|
||||||
|
RewriteRule .* - [E=SFC_URI:%{REQUEST_URI}]
|
||||||
|
RewriteCond %{REQUEST_URI} ^/?$
|
||||||
|
RewriteRule .* - [E=SFC_URI:/]
|
||||||
|
|
||||||
|
# Cleanup HOST
|
||||||
|
RewriteCond %{HTTP_HOST} ^([^:]+)(:[0-9]+)?$
|
||||||
|
RewriteRule .* - [E=SFC_HOST:%1]
|
||||||
|
|
||||||
|
# Get scheme
|
||||||
|
RewriteCond %{SERVER_PORT} ^443$ [OR]
|
||||||
|
RewriteCond %{HTTP:X-Forwarded-Proto} https
|
||||||
|
RewriteRule .* - [E=SFC_PROTOCOL:https]
|
||||||
|
RewriteCond %{SERVER_PORT} !^443$
|
||||||
|
RewriteCond %{HTTP:X-Forwarded-Proto} !https
|
||||||
|
RewriteRule .* - [E=SFC_PROTOCOL:http]
|
||||||
|
|
||||||
|
# Get port (not used at the moment)
|
||||||
|
RewriteRule .* - [E=SFC_PORT:80]
|
||||||
|
RewriteCond %{SERVER_PORT} ^[0-9]*$ [OR]
|
||||||
|
RewriteRule .* - [E=SFC_PORT:%{SERVER_PORT}]
|
||||||
|
|
||||||
|
# Check if the requested file exists in the cache, otherwise default to index.html that
|
||||||
|
# set in an environment variable that is used later on
|
||||||
|
RewriteCond %{ENV:SFC_ROOT}/typo3temp/tx_staticfilecache/%{ENV:SFC_PROTOCOL}/%{ENV:SFC_HOST}%{ENV:SFC_URI} !-f
|
||||||
|
RewriteRule .* - [E=SFC_FILE:index.html]
|
||||||
|
|
||||||
|
# Note: https://github.com/lochmueller/staticfilecache/pull/90 (Please check the realurl configuration related to "appendMissingSlash". Perhaps you need an additional "/" in the rule above)
|
||||||
|
# RewriteRule .* - [E=SFC_FILE:/index.html]
|
||||||
|
|
||||||
|
# Set gzip extension into an environment variable if the visitors browser can handle gzipped content and the gz-file exists
|
||||||
|
RewriteRule .* - [E=SFC_GZIP:]
|
||||||
|
RewriteCond %{HTTP:Accept-Encoding} gzip [NC]
|
||||||
|
RewriteRule .* - [E=SFC_GZIP:.gz]
|
||||||
|
RewriteCond %{ENV:SFC_ROOT}/typo3temp/tx_staticfilecache/%{ENV:SFC_PROTOCOL}/%{ENV:SFC_HOST}%{ENV:SFC_URI}%{ENV:SFC_FILE}%{ENV:SFC_GZIP} !-f
|
||||||
|
RewriteRule .* - [E=SFC_GZIP:]
|
||||||
|
|
||||||
|
# Note: We cannot check realurl "appendMissingSlash" or other BE related settings here - in front of the delivery.
|
||||||
|
# Perhaps you have to check the "SFC_FILE" value and set it to your related configution e.g. "index.html" (without leading slash).
|
||||||
|
# More information at: https://github.com/lochmueller/staticfilecache/pull/28
|
||||||
|
|
||||||
|
### Begin: Static File Cache (main) ####
|
||||||
|
|
||||||
|
# We only redirect URI's without query strings
|
||||||
|
RewriteCond %{QUERY_STRING} ^$
|
||||||
|
|
||||||
|
# It only makes sense to do the other checks if a static file actually exists.
|
||||||
|
RewriteCond %{ENV:SFC_ROOT}/typo3temp/tx_staticfilecache/%{ENV:SFC_PROTOCOL}/%{ENV:SFC_HOST}%{ENV:SFC_URI}%{ENV:SFC_FILE}%{ENV:SFC_GZIP} -f
|
||||||
|
|
||||||
|
# NO frontend or backend user is logged in. Logged in users may see different
|
||||||
|
# information than anonymous users. But the anonymous version is cached. So
|
||||||
|
# don't show the anonymous version to logged in users.
|
||||||
|
RewriteCond %{HTTP_COOKIE} !staticfilecache [NC]
|
||||||
|
|
||||||
|
# Uncomment the following line if you use MnoGoSearch
|
||||||
|
#RewriteCond %{HTTP:X-TYPO3-mnogosearch} ^$
|
||||||
|
|
||||||
|
# We only redirect GET requests
|
||||||
|
RewriteCond %{REQUEST_METHOD} GET
|
||||||
|
|
||||||
|
# Rewrite the request to the static file.
|
||||||
|
RewriteRule .* %{ENV:SFC_ROOT}/typo3temp/tx_staticfilecache/%{ENV:SFC_PROTOCOL}/%{ENV:SFC_HOST}%{ENV:SFC_URI}%{ENV:SFC_FILE}%{ENV:SFC_GZIP} [L]
|
||||||
|
|
||||||
|
# Do not allow direct call the cache entries
|
||||||
|
RewriteCond %{ENV:SFC_URI} ^/typo3temp/tx_staticfilecache/.*
|
||||||
|
RewriteCond %{ENV:REDIRECT_STATUS} ^$
|
||||||
|
RewriteRule .* - [F,L]
|
||||||
|
|
||||||
|
### Begin: Static File Cache (options) ####
|
||||||
|
|
||||||
|
# Set proper content type and encoding for gzipped html.
|
||||||
|
<FilesMatch "\.gz">
|
||||||
|
<IfModule mod_headers.c>
|
||||||
|
Header set Content-Encoding gzip
|
||||||
|
</IfModule>
|
||||||
|
</FilesMatch>
|
||||||
|
|
||||||
|
# if there are same problems with ForceType, please try the AddType alternative
|
||||||
|
# Set proper content type gzipped html
|
||||||
|
<FilesMatch "\.html\.gz">
|
||||||
|
ForceType text/html
|
||||||
|
# AddType "text/html" .gz
|
||||||
|
</FilesMatch>
|
||||||
|
<FilesMatch "\.xml\.gz">
|
||||||
|
ForceType text/xml
|
||||||
|
# AddType "text/xml" .gz
|
||||||
|
</FilesMatch>
|
||||||
|
<FilesMatch "\.rss\.gz">
|
||||||
|
ForceType text/xml
|
||||||
|
# AddType "text/xml" .gz
|
||||||
|
</FilesMatch>
|
||||||
|
|
||||||
|
### End: Static File Cache ###
|
||||||
|
|
||||||
# If the file/symlink/directory does not exist => Redirect to index.php.
|
# If the file/symlink/directory does not exist => Redirect to index.php.
|
||||||
# For httpd.conf, you need to prefix each '%{REQUEST_FILENAME}' with '%{DOCUMENT_ROOT}'.
|
# For httpd.conf, you need to prefix each '%{REQUEST_FILENAME}' with '%{DOCUMENT_ROOT}'.
|
||||||
RewriteCond %{REQUEST_FILENAME} !-f
|
RewriteCond %{REQUEST_FILENAME} !-f
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks'][\EP\EpProducts\T
|
|||||||
'Product' => 'pricetable',
|
'Product' => 'pricetable',
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'Product' => 'pricetable',
|
'Product' => '',
|
||||||
]
|
]
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user