Cara penulisan semula nginx melaksanakan lompatan URL

PHPz
Lepaskan: 2023-06-03 11:55:28
ke hadapan
1229 orang telah melayarinya

url跳转

这里说的url跳转就是用户在访问一个url时将其跳转到另一个url上。

常见的应用场景是让多个域名跳转到同一个url上,(例如让旧域名跳转到新域名上)

将静态文件请求跳转到cdn上等

根据用户设备跳转到不同站点(pc版,wap版)等。

url跳转可以通过js在页面上设置的window.location实现

也可以通过php设置header来实现

当然也可以用nginx 的 rewrite功能实现

nginx rewrite模块

rewrite 是 nginx的静态重写模块

基本用法是 rewrite patten replace flag

patten是正则表达式,与patten匹配的url会被改写为replace,flag可选

例如将旧域名跳转到新域名上

server
{
 listen 80;
 server_name www.old.com;
 rewrite ".*" http://www.new.com;
}
Salin selepas log masuk

跳转到新域名上时保留路径

server
{
 listen 80;
 server_name www.old.com;
 rewrite "^/(.*)$" http://www.new.com/$1;
}
rewrite与location配合实现图片文件跳转到cdn
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ {
 expires 30d;
 rewrite "^/uploadfile\/(.*)$" http://static.xxx.com/uploadfile/$1;
}
Salin selepas log masuk

rewrite 后面可以加flag,flag标记有:

last 相当于apache里的[l]标记,表示完成rewrite

break 终止匹配, 不再匹配后面的规则

redirect 返回302临时重定向 地址栏会显示跳转后的地址

permanent 返回301永久重定向 地址栏会显示跳转后的地址

Atas ialah kandungan terperinci Cara penulisan semula nginx melaksanakan lompatan URL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan