如何在NGINX中重定向URL

阿玛尔·库玛(Amal Kumar S)

我需要将每个http://test.com请求重定向http://www.test.com如何才能做到这一点。

在服务器块中,我尝试添加

 rewrite ^/(.*) http://www.test.com/$1 permanent;

但在浏览器中却说

  The page isn't redirecting properly

  Firefox has detected that the server is redirecting the request for 
  this address in a way that will never complete.

我的服务器块看起来像

 server {
            listen       80;
            server_name  test.com;
            client_max_body_size   10M;
            client_body_buffer_size   128k;

            root       /home/test/test/public;
            passenger_enabled on;
            rails_env production;

            #rewrite ^/(.*) http://www.test.com/$1 permanent;
            #rewrite ^(.*)$ $scheme://www.test.com$1;

            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                    root   html;
            }
    }
德米特里·韦罗图洛夫

最好的方法是添加另一个服务器块:

server {
        #implemented by default, change if you need different ip or port
        #listen *:80 | *:8000;
        server_name test.com;
        return 301 $scheme://www.test.com$request_uri;
}

并按如下所示编辑主服务器块server_name变量:

server_name  www.test.com;

重要提示:新server块是实现此目标的正确方法,if是邪恶的您必须使用位置和服务器,而不是if尽可能使用。Rewrite有时也是邪恶的,所以用return

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章