将nginx索引重写为root

时间:2014-10-20 12:24:24

标签: redirect nginx

我在溢出时尝试了其他解决方案,但这些解决方案对我不起作用。任何答案都没有太多文档,因此在特定情况之外应用更难。

我已经使用

将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。我上班的任何事情都成了一个循环。

修改

基于defenestrate.me的回答以及我选择的其他信息 -

通常的配置 -

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

将root发送到index.html等。因此,如果index.html重定向到root,则会重定向回index,因此需要在答案中使用if函数。

1 个答案:

答案 0 :(得分:1)

我只是设法通过在服务器部分中使用以下内容来实现此功能:

if ($request_uri = /index.php) {
    return 301 $scheme://$host;
}

我并不过分精通nginx,但我会尝试回答你的问题(如果我错了,请有人纠正我)

您可能需要将其添加到后期80和端口443部分以使其正常工作,我不认为将其添加到网站范围的侦听器可以正常工作。

你需要保持索引index.html index.php; line,因为它指定了如果没有指定要加载的默认文件(例如导航到文件夹)