-
Notifications
You must be signed in to change notification settings - Fork 82
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix doc; Add support for WP Fastest Cache!
- Loading branch information
Showing
4 changed files
with
138 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
# configuration directives to support WP Fastest Cache plugin. | ||
# note not all features are supported. | ||
|
||
# default location block | ||
# - directs mobile visitors to @mobileaccess, if configured. | ||
# - directs cache misses to PHP (via @cachemiss). | ||
# - directs requests "that shouldn't be cached" to PHP (via @cachemiss): example - requests from a logged-in user. | ||
location / { | ||
error_page 418 = @cachemiss; # to handle cache misses | ||
error_page 419 = @mobileaccess; # to handle mobile visits | ||
recursive_error_pages on; | ||
|
||
# bypass POST requests | ||
if ($request_method = POST) { return 418; } | ||
|
||
# uncommenting the following degrades the performance on certain sites. YMMV | ||
# if ($query_string != "") { return 418; } | ||
|
||
# bypass cache for common query strings | ||
if ($arg_s != "") { return 418; } # search query | ||
if ($arg_p != "") { return 418; } # request a post / page by ID | ||
if ($arg_amp != "") { return 418; } # amp test | ||
if ($arg_preview = "true") { return 418; } # preview post / page | ||
if ($arg_ao_noptimize != "") { return 418; } # support for Autoptimize plugin | ||
|
||
# if WP related cookies are found, skip cache | ||
if ($http_cookie ~* "wordpress_logged_in_") { return 418; } | ||
if ($http_cookie ~* "comment_author_") { return 418; } | ||
if ($http_cookie ~* "wp_postpass_") { return 418; } | ||
|
||
# uncomment the following two lines to support mobile cache | ||
# if ($http_user_agent ~* (2.0\ MMP|240x320|400X240|AvantGo|BlackBerry|Blazer|Cellphone|Danger|DoCoMo|Elaine/3.0|EudoraWeb|Googlebot-Mobile|hiptop|IEMobile|KYOCERA/WX310K|LG/U990|MIDP-2.|MMEF20|MOT-V|NetFront|Newt|Nintendo\ Wii|Nitro|Nokia|Opera\ Mini|Palm|PlayStation\ Portable|portalmmm|Proxinet|ProxiNet|SHARP-TQ-GX10|SHG-i900|Small|SonyEricsson|Symbian\ OS|SymbianOS|TS21i-10|UP.Browser|UP.Link|webOS|Windows\ CE|WinWAP|YahooSeeker/M1A1-R2D2|iPhone|iPod|Android|BlackBerry9530|LG-TU915\ Obigo|LGE\ VX|webOS|Nokia5800|iPad)) { return 419; } | ||
# add_header "Vary" "User-Agent"; | ||
|
||
# uncomment the following if deemed fit | ||
# if ($http_user_agent ~* (w3c\ |w3c-|acs-|alav|alca|amoi|audi|avan|benq|bird|blac|blaz|brew|cell|cldc|cmd-|dang|doco|eric|hipt|htc_|inno|ipaq|ipod|jigs|kddi|keji|leno|lg-c|lg-d|lg-g|lge-|lg/u|maui|maxo|midp|mits|mmef|mobi|mot-|moto|mwbp|nec-|newt|noki|palm|pana|pant|phil|play|port|prox|qwap|sage|sams|sany|sch-|sec-|send|seri|sgh-|shar|sie-|siem|smal|smar|sony|sph-|symb|t-mo|teli|tim-|tosh|tsm-|upg1|upsi|vk-v|voda|wap-|wapa|wapi|wapp|wapr|webc|winw|winw|xda\ |xda-|ipad)) { return 419; } | ||
|
||
# look for cached version; if-not-found, then send the request to PHP | ||
try_files "/wp-content/cache/all/${uri}index.html" $uri $uri/ /index.php$is_args$args; | ||
|
||
#--> all the following would apply, only if the request hits the cache | ||
|
||
# add some useful headers | ||
add_header "X-Cache" "HIT"; | ||
add_header "X-CF-Powered-By" "WP Fastest Cache"; | ||
add_header "Vary" "Cookie"; | ||
# include "globals/hsts.conf"; | ||
|
||
expires 30m; | ||
# expires modified 30m; | ||
add_header "Cache-Control" "must-revalidate"; | ||
|
||
# For proxies | ||
# add_header "Cache-Control" "s-maxage=600"; | ||
} | ||
|
||
# location to handle requests come from mobile devices | ||
location @mobileaccess { | ||
# look for cached version for mobiles; if-not-found, then send the request to PHP | ||
try_files "/wp-content/cache/all/${uri}index.html" $uri $uri/ /index.php$is_args$args; | ||
|
||
#--> all the following would apply, only if the request hits the cache | ||
|
||
# add some useful headers | ||
add_header "X-Cache" "HIT - Mobile"; | ||
add_header "X-CF-Powered-By" "WP Fastest Cache"; | ||
add_header "Vary" "User-Agent, Cookie"; | ||
# include "globals/hsts.conf"; | ||
|
||
expires 30m; | ||
# expires modified 30m; | ||
add_header "Cache-Control" "must-revalidate"; | ||
|
||
# For proxies | ||
# add_header "Cache-Control" "s-maxage=600"; | ||
} | ||
|
||
location @cachemiss { | ||
# on cache miss, send the request to PHP | ||
try_files $uri $uri/ /index.php$is_args$args; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
server { | ||
listen 80; | ||
listen 443 ssl http2; | ||
server_name dev.example.com; | ||
index index.php; | ||
|
||
# Replace the path with the actual path to WordPress core files | ||
root /home/dev/sites/dev.example.com/public; | ||
|
||
# ssl_certificate "/etc/letsencrypt/live/dev.example.com/fullchain.pem"; | ||
# ssl_certificate_key "/etc/letsencrypt/live/dev.example.com/privkey.pem"; | ||
|
||
# access_log off; | ||
access_log /var/log/nginx/dev-example.com-access.log; | ||
error_log /var/log/nginx/dev-example.com-error.log; | ||
# error_log /var/log/nginx/dev-example.com-error.log debug; | ||
|
||
include "globals/restrictions.conf"; | ||
|
||
location ~* \.(?:css|js|jpg|jpeg|png|gif|ico|svg|ttf|eot|woff|otf)$ { expires max; try_files $uri @prod; } | ||
|
||
location @prod { | ||
proxy_pass https://0.0.0.0; | ||
|
||
proxy_set_header Host "www.example.com"; | ||
|
||
proxy_set_header X-Real-IP $remote_addr; | ||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; | ||
proxy_set_header X-Forwarded-Proto $scheme; | ||
} | ||
|
||
location ~ \.php$ { | ||
try_files $uri =404; | ||
fastcgi_split_path_info ^(.+\.php)(/.+)$; | ||
|
||
include fastcgi.conf; | ||
fastcgi_index index.php; | ||
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; | ||
fastcgi_intercept_errors on; | ||
fastcgi_pass fpm-dev; | ||
} | ||
|
||
# The rewrite magic | ||
location / { try_files $uri $uri/ /index.php$is_args$args; } | ||
# include "globals/wpsc.conf"; | ||
# include "globals/wprocket.conf"; | ||
} |