我刚刚测试了\'robots_txt\' 对单个安装进行筛选,以修改虚拟/机器人的输出。WordPress显示的txt,对我来说效果很好:
add_filter(\'robots_txt\', \'wpse_248124_robots_txt\', 10, 2);
function wpse_248124_robots_txt($output, $public) {
return \'YOUR DESIRED OUTPUT\';
}
当你尝试接触/机器人时,真正发生了什么。txt?它是否显示默认机器人。txt内容还是404?如果您得到的是404,那么您可能有不允许/机器人的Apache或Nginx规则。txt请求通过PHP。在nginx配置中,这样的配置非常常见:
# Don\'t log access to /robots.txt
location = /robots.txt {
access_log off;
log_not_found off;
}
您应该将其替换为以下内容:
# Don\'t log access to /robots.txt
location = /robots.txt {
try_files $uri $uri/ /index.php?$args;
access_log off;
log_not_found off;
}
您还应该使用
Rewrite Rules Inspector (或任何其他可用方法),确保存在以下重写规则:
robots\\.txt$ index.php?robots=1
如果没有,您应该尝试停用插件,激活默认主题并刷新重写规则,以检查重写规则是否恢复,但如果没有时间,只需将此重写规则添加到您的。htaccess:
RewriteRule robots\\.txt$ index.php?robots=1