linux – Nginx – 重写或返回重定向?

前端之家收集整理的这篇文章主要介绍了linux – Nginx – 重写或返回重定向?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有两个选项(返回和重写)重定向,我不知道哪个推荐性能,搜索引擎优化等:
## Redirect from non-www to www
server {
        server_name example.com;
        # Option 1
        return 301 $scheme://$host$request_uri;

        # Option 2
        rewrite ^ http://$host$request_uri? permanent;
    }

## Default server config

server {
        ...
        listen      192.168.1.1:80 default_server;
        root        /www;
        server_name www.example.com;@H_404_3@ 
 

选项2似乎与curl一起使用,但是在浏览器调用时它不会重定向,并且返回代码是临时重定向代码,尽管重写指令设置为permanent:

curl -I example.com
 HTTP/1.1 302 Moved Temporarily
 Server: Nginx
 ...
 Location: http://www.example.com/
 ...@H_404_3@

解决方法

你的选择1:
return 301 $scheme://$host$request_uri;@H_404_3@ 
 

正是你想要的.

不知道为什么重写^ http:// $host $request_uri?常驻; line会导致302而不是301.这是强制它返回301的正确语法.

猜你在找的Linux相关文章