Heim > Betrieb und Instandhaltung > Nginx > Wie Nginx Rewrite den URL-Sprung implementiert

Wie Nginx Rewrite den URL-Sprung implementiert

PHPz
Freigeben: 2023-06-03 11:55:28
nach vorne
1253 Leute haben es durchsucht

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;
}
Nach dem Login kopieren

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

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;
}
Nach dem Login kopieren

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

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

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

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

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

Das obige ist der detaillierte Inhalt vonWie Nginx Rewrite den URL-Sprung implementiert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage