Nginx robots.txt 配置

Nginx robots.txt 配置

我似乎无法正确配置 nginx 以返回 robots.txt 内容。理想情况下,我不需要该文件,只想提供直接在 nginx 中配置的文本内容。这是我的配置:

server {
    listen 80 default_server;
    listen [::]:80 default_server ipv6only=on;

    root /usr/share/nginx/html;
    index index.html index.htm;

    server_name localhost;

    location = /robots.txt {
        #return 200 "User-agent: *\nDisallow: /";
        #alias /media/ws/crx-apps/eap/welcome-content/robots.txt;
        alias /usr/share/nginx/html/dir/robots.txt ;
    }

    location / {
        try_files $uri $uri/ =404;
    }
}

location中所有东西都= /robots.txt不起作用,我不明白为什么。访问时http://localhost/robots.txt出现 404。但是,http://localhost/index.html服务正常。

apt-get install nginx请注意,除了添加新位置(用于测试)之外,我没有更改任何 nginx 的默认设置。

答案1

首先,我认为您的配置中的问题在于用于匹配的正则表达式。在您的配置中写入这样的语句将非常有帮助,以防止可能出现的模式匹配错误:

    location = /robots.txt {
    alias /usr/share/nginx/html/dir/robots.txt;
} 

其次,您还应该检查权限和有效所有者/usr/share/nginx/html/dir/robots.txt

相关内容