0
我想拒绝bingbot访问/ wp-admin和/wp-login.php,但我遇到了我的nginx配置问题。我开始与以下:nginx - 解析后继续返回
location ~ /(wp-admin|wp-login\.php) {
if ($http_user_agent ~* "(alltheweb|baidu|bingbot|googlebot|msnbot|slurp)") {
return 403;
break;
}
}
# Allow any php files to run
location ~ \.php$ {
try_files $uri =404;
include /etc/nginx/fastcgi.conf;
fastcgi_pass unix:/var/lib/php/php.socket;
}
这只是正常的阻挡bingbot,但它也不会执行wp-login.php
;它将它视为一个静态文件。我想:“好吧,你不通过下降到另外的场所块”,所以我复制的PHP代码到更高的一个:
location ~ /(wp-admin|wp-login\.php) {
if ($http_user_agent ~* "(alltheweb|baidu|bingbot|googlebot|msnbot|slurp)") {
return 403;
break;
}
location ~ \.php$ {
try_files $uri =404;
include /etc/nginx/fastcgi.conf;
fastcgi_pass unix:/var/lib/php/php.socket;
}
}
# Allow any php files to run
location ~ \.php$ {
try_files $uri =404;
include /etc/nginx/fastcgi.conf;
fastcgi_pass unix:/var/lib/php/php.socket;
}
这使我再次登录,而不是下载wp-login.php
,但现在bingbot是再次获得HTTP 200 OK!我如何有选择地返回403或PHP处理程序正确?
这是一个更好的解决方案,谢谢! – staticfloat 2013-03-06 06:03:24