nginx重定向
  2OOtxGRti36O 2023年11月02日 23 0
1.修改虚拟主机文件

server_name后面支持写多个域名,这里要和httpd的做一个对比

permanent为永久重定向,状态码为301,如果写redirect则为302

如果替换字符串不以“ http://”、“ https://”或“ scheme”开头,则使用;permanent返回带有301代码的永久重定向。完整的重定向URL是根据请求方案(��ℎ���”开头,则使用;���������返回带有301代码的永久重定向。完整的重定向���是根据请求方案(scheme) 以及 server_name_in_redirect和 port_in_redirect指令形成的。

例子1:

nginx重定向_html


server {
    ...
    rewrite ^ www.baidu.com;
    ...
}
2.然后重启nginx配置,浏览器访问被重定向的URL,可以看到我们已经成功重定向到百度了。
[root@localhost html]# curl -i URL
HTTP/1.1 302 Moved Temporarily
Server: nginx/1.20.1
Date: Fri, 03 Sep 2021 21:57:32 GMT
Content-Type: text/html
Content-Length: 145
Connection: keep-alive
Location: https://www.baidu.com

<html>
<head><title>302 Found</title></head>
<body>
<center><h1>302 Found</h1></center>
<hr><center>nginx/1.20.1</center>
</body>
</html>

例子2:

server {
    ...
    rewrite ^(/download/.*)/media/(.*)\..*$ $1/mp3/$2.mp3 last;
    rewrite ^(/download/.*)/audio/(.*)\..*$ $1/mp3/$2.ra  last;
    return  403;
    ...
}

但是如果这些指令放在“ /download/”位置,last标志应该被替换 break,否则nginx将进行10个循环并返回500错误:

location /download/ {
    rewrite ^(/download/.*)/media/(.*)\..*$ $1/mp3/$2.mp3 break;
    rewrite ^(/download/.*)/audio/(.*)\..*$ $1/mp3/$2.ra  break;
    return  403;
}

如果replacement字符串包含新的请求参数,则先前的请求参数会附加在它们之后。如果这是不希望的,在替换字符串的末尾放置一个问号可以避免附加它们,例如:

重写 ^/users/(.*)/show?user=/�ℎ��?����=1? 最后的;
如果正则表达式包含“ }”或“ ;”字符,则整个表达式应该用单引号或双引号括起来。

句法: rewrite_log on | off;
默认:
rewrite_log off;
语境: http, server, location,if
启用或禁用将ngx_http_rewrite_module 模块指令处理结果记录到级别的error_log中notice。

句法: set $variable value;
默认: —
语境: server, location,if
value为指定的 设置 a variable。该value可以包含文本,变量,他们的组合。

句法: uninitialized_variable_warn on | off;
默认:
uninitialized_variable_warn 开启;
语境: http, server, location,if
控制是否记录有关未初始化变量的警告。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  P3nxyT0LRuwj   2023年11月28日   27   0   0 nginxhtmlWeb
  jnZtF7Co41Wg   2023年12月11日   33   0   0 nginx客户端服务端
  jnZtF7Co41Wg   2023年11月28日   21   0   0 nginx文件名linux命令
  stLBpDewCLT1   2023年12月08日   30   0   0 nginx
  jnZtF7Co41Wg   2023年12月10日   22   0   0 nginx客户端服务端NFS
  eHipUjOuzYYH   2023年12月06日   30   0   0 nginxHTTP
  eHipUjOuzYYH   2023年12月06日   27   0   0 nginx加载IPV6