最近在日志里发现大量purge GET请求的404错误

"GET /purge/feed/ HTTP/1.1" 404 

"GET /purge/feed/rdf/ HTTP/1.1" 404 

"GET /purge/lenovo-bios-whellote-list.html/ HTTP/1.1" 404

发现是因为purge模块的请求自动添加‘/’所致。

但我显然不能再随便改固定链接了;

而purge不能说把所有‘/’都去掉。

于是编辑nginx配置文件

location ~ /purge(/.*) {
 allow 127.0.0.1;
 deny all;
 fastcgi_param SERVER_SOFTWARE nginx;
 fastcgi_cache_purge WordPress "$scheme$request_method$host$1";
 include fastcgi.conf;
 error_page 404 =200 /purrg$1; //关键
 }

location ~ /purrg(.*)/ {
 allow 127.0.0.1;
 deny all;
 fastcgi_param SERVER_SOFTWARE nginx;
 fastcgi_cache_purge WordPress "$scheme$request_method$host$1";
 }

因为$1=()里的内容;所以相当于404转去掉‘/’的链接。

更新于:2017-11-21