wordpress的robots.txt返回404,原来是nginx的配置错误
今天在浏览器中,看下网站的 robots.txt 文件,发现状态吗是 404。不过里面是有正常的内容。检查了一下,最后返现是nginx的配置有问题。
之前的配置 robots.txt
location = /robots.txt {
access_log off;
log_not_found off;
}
location / {
try_files $uri $uri/ /index.php?$args;
}
因为不是每个网站,都有 robots.txt 文件。所以就直接关闭了 关于 robots.txt 的访问日志,同时忽略了日志。
这样有一个问题,因为 wordpress 可以动态的生成 robots.txt 文件。
上面的配置,因为服务器没有 robots.txt 文件,所有会返回404, 之后进入第二个 location 通过wp程序生成了内容,所有内容会正常的显示。
正确的写法
location = /robots.txt {
access_log off;
log_not_found off;
try_files $uri $uri/ /index.php?$args;
}
这样就可以避免出现 404 。