我有一个NGINX服务器,代理apache。Wp-Rocket做所有的缓存工作,并将缓存文件存储到wp-content/cache/wp-rocket/mysite.com/每个索引文件保存为index-https.html这个想法是为了防止代理,如果索引文件已经存在。每次我刷新页面,我看到Apache日志中的GET请求。你能告诉我我哪里做错了吗?
root /var/www/html;
location ~ \.php$ {
error_page 420 = @apache;
return 420;
}
location / {
index index.html index-https.html;
error_page 420 = @apache;
error_page 405 = @apache;
if ($request_method = POST ) {
return 420;
}
if ( $query_string ){
return 420;
}
if ( $http_cookie ~ "wordpress_logged_in" ){
return 420;
}
expires 365d;
add_header Cache-Control "public, no-transform";
gzip_static on;
try_files $uri wp-content/cache/wp-rocket/mysite.com/$uri/ @apache;
}
location @apache {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
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;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Port $server_port;
proxy_hide_header Upgrade;
}
已尝试指定索引文件(index-https.html),但也没有成功:
try_files $uri wp-content/cache/wp-rocket/mysite.com/$uri/ @apache;
try_files $uri /wp-content/cache/wp-rocket/mysite.com/$uri/ @apache;
try_files $uri /wp-content/cache/wp-rocket/mysite.com/$uri @apache;
try_files $uri /wp-content/cache/wp-rocket/mysite.com/$uri/index-https.html @apache;
1条答案
按热度按时间vyu0f0g11#
URI
/resumes/marina-7/
应指向文件/var/www/html/wp-content/cache/wp-rocket/mysite.com/resumes/marina-7/index-https.html
$uri
的值正好是/resumes/marina-7/
,因此请注意不要在变量前后插入额外的/
。用途:
请注意,术语必须以
/
开始,并且使用大括号分隔变量名。