加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-12-13 18:10:53 所属栏目:Linux 来源:网络整理
导读:我有两个选项(返回和重写)重定向,我不知道哪个推荐性能,搜索引擎优化等: ## Redirect from non-www to wwwserver { server_name example.com; # Option 1 return 301 $scheme://$host$request_uri; # Option 2 rewrite ^ http://$host$request_uri? permane
我有两个选项(返回和重写)重定向,我不知道哪个推荐性能,搜索引擎优化等:
## 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;

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

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

解决方法

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

正是你想要的.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读