如何解决在 nginx 中从 robots.txt 重定向到 robots.php
我使用 CentOS7 和 nginx。我需要动态robots.txt为此我尝试使用从robots.txt重定向到robots.php。但如果 site.com/robots.txt 我看到来自文件 robots.php 的文本,如果 site.com/robots.php 我看到运行这个程序的结果。我如何修复 site.com/robots.txt 给我运行 robots.php 的结果? 在 nginx 中,我使用下一个代码:
location /robots.txt { alias /home/xxx/web/site.ru/public_html/robots.php; }
解决方法
虽然注释中的 rewrite
方法可行,但值得注意的是,正确的解决方案是精确匹配的位置,它无条件地将请求定向到 PHP-FPM,如下所示:
location = /robots.txt {
fastcgi_param SCRIPT_FILENAME $document_root/robots.php;
include fastcgi_params;
# override SCRIPT_NAME which was set in fastcgi_params
fastcgi_param SCRIPT_NAME /robots.php;
fastcgi_pass unix:/var/run/php-fpm/example.com.sock;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。