Nginx重定向循环

时间:2014-09-25 04:58:39

标签: php nginx

以下是我对nginx的配置。

location / {
    try_files $uri $uri/ $uri.html $uri.php?$query_string;

    # Remove trailing slash
    rewrite ^/(.*)/$ /$1 permanent;

    rewrite /authors/(.*) /authors/search.php?author=$1;
}

我遇到的问题是,当我访问www.mywebsite.com/authors时,这会导致无限重定向。我想要的是www.mywebsite.com/authors加载www.mywebsite / authors / index.php和www.mywebsite.com/authors/EVERYOTHERSTRING进行最后一次重写。如何通过重写实现这一目标?

编辑:仍然删除了斜杠。

1 个答案:

答案 0 :(得分:1)

尝试更改这些重写规则......

rewrite ^/(.*)/$ /$1 permanent; 
rewrite /authors/(.*) /authors/search.php?author=$1;

到...

rewrite ^/authors/(.*) /authors/search.php?author=$1 last;
rewrite ^/(.+)/$ /$1 permanent;