Redirect 将nginx索引重写为root

Redirect 将nginx索引重写为root,redirect,nginx,Redirect,Nginx,我在overflow上尝试了其他解决方案,但这些解决方案对我不起作用。没有太多的文档提供任何答案,因此很难在他们的具体案例之外应用 我已经将site.com重定向到www.site.com server { listen 10.10.10.10; server_name site.com; rewrite / $scheme://www.$host$request_uri permanent; } 我想添加一个site.com/index重定向到

我在overflow上尝试了其他解决方案,但这些解决方案对我不起作用。没有太多的文档提供任何答案,因此很难在他们的具体案例之外应用

我已经将site.com重定向到www.site.com

server {
    listen 10.10.10.10;
    server_name site.com;
    rewrite / $scheme://www.$host$request_uri permanent;            
}
我想添加一个site.com/index重定向到site.com。我做的任何事情都会变成一个循环

编辑

基于Defensetrate.我的答案和我收集到的其他信息-

通常的配置-

location / {
        index index.html index.php;
    }

将root发送到index.html等。因此,如果index.html重定向到root,这将重定向回index,因此需要一个if函数,如答案中所示。

我刚刚通过在服务器部分中使用以下命令实现了此功能:

if ($request_uri = /index.php) {
    return 301 $scheme://$host;
}
我不太精通nginx,但我会尽力回答你的问题(如果我错了,请有人纠正我)

您可能需要将其添加到Post80和Port443部分才能使其工作,我认为将其添加到站点范围的侦听器是行不通的


您需要保留index.html index.php;行,因为它指定了在未指定默认文件的情况下加载哪些默认文件(例如导航到文件夹)

我刚刚通过在服务器部分中使用以下命令来实现此功能:

if ($request_uri = /index.php) {
    return 301 $scheme://$host;
}
我不太精通nginx,但我会尽力回答你的问题(如果我错了,请有人纠正我)

您可能需要将其添加到Post80和Port443部分才能使其工作,我认为将其添加到站点范围的侦听器是行不通的


您需要保留index.html index.php;行,因为它指定了在未指定默认文件的情况下加载哪些默认文件(例如导航到文件夹)

我刚刚通过在服务器部分中使用以下命令来实现此功能:

if ($request_uri = /index.php) {
    return 301 $scheme://$host;
}
我不太精通nginx,但我会尽力回答你的问题(如果我错了,请有人纠正我)

您可能需要将其添加到Post80和Port443部分才能使其工作,我认为将其添加到站点范围的侦听器是行不通的


您需要保留index.html index.php;行,因为它指定了在未指定默认文件的情况下加载哪些默认文件(例如导航到文件夹)

我刚刚通过在服务器部分中使用以下命令来实现此功能:

if ($request_uri = /index.php) {
    return 301 $scheme://$host;
}
我不太精通nginx,但我会尽力回答你的问题(如果我错了,请有人纠正我)

您可能需要将其添加到Post80和Port443部分才能使其工作,我认为将其添加到站点范围的侦听器是行不通的


您需要保留index.html index.php;行,因为它指定了如果未指定默认文件(例如导航到文件夹)将加载哪些默认文件。

由于index.html index.php,它会循环;非常奇怪,在我的测试中,像这样的索引集很好。以前使用重写的所有方法都已删除吗?你能发布当前配置以便我们测试你正在使用的设置吗?我没有得到if语句,为什么它是键。php在站点范围内工作,但不是索引。因为index.html index.php,所以不太确定那里发生了什么;非常奇怪,在我的测试中,像这样的索引集很好。以前使用重写的所有方法都已删除吗?你能发布当前配置以便我们测试你正在使用的设置吗?我没有得到if语句,为什么它是键。php在站点范围内工作,但不是索引。因为index.html index.php,所以不太确定那里发生了什么;非常奇怪,在我的测试中,像这样的索引集很好。以前使用重写的所有方法都已删除吗?你能发布当前配置以便我们测试你正在使用的设置吗?我没有得到if语句,为什么它是键。php在站点范围内工作,但不是索引。因为index.html index.php,所以不太确定那里发生了什么;非常奇怪,在我的测试中,像这样的索引集很好。以前使用重写的所有方法都已删除吗?你能发布当前配置以便我们测试你正在使用的设置吗?我没有得到if语句,为什么它是键。php在站点范围内工作,但不是索引。不太清楚那里发生了什么