nginx中重写规则设置

nginx中重写规则设置

我安装了 nginx 1.0.0 并将其安装在 /usr/local/nginx1.0.0/。然后我尝试修改 /usr/local/nginx1.0.0/cont/nginx.conf 文件。

我只是复制默认文件。并替换服务器名称小路

我联系了示例.com-> 它起作用了(有 nginx 工作消息。)

但我联系了www.example.com-> 它不起作用。(出现 404 Not Found 消息。)

并且 url 是 = http://www.example.com/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/

我尝试 server_name => example.com *.example.com (但问题依然存在)

这是我的 nginx.conf 代码。我的配置错误了吗?还是安装错误?

server {
        listen       80;
        server_name  .example.com;

        location / {
            root   html;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

      location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  html$fastcgi_script_name;
            include        fastcgi_params;
        }

        location ~ /\.ht {
            deny  all;
        }
    }

答案1

您是否有其他server {}可能与 www.example.com 更匹配并覆盖此块的块?

另外,你可能不想使用fastcgi_index。它只在少数特殊情况下有用。对于像你这样的典型情况,你想使用类似

try_files $uri $uri/index.html $uri/index.htm $uri/index.php

在您的location / {}块中。最后一项会生成一个到location ~ \.php$ {}块的内部重定向。

相关内容