题目描述
比如 nuxt.js 路由是 /article/info/5,nginx重写后变成 /ai5/ 再还原之后代理到3000端口,这时提示与服务器端渲染不一至
题目来源及自己的思路
没有思路
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
nginx反向代理配置如下
location /__webpack_hmr{
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
break;
}
location ~ /ai(d+)/ {
#return 404;
rewrite ^/ai(\d+)/$ /article/info/$1/ break;
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
break;
}
location ~ /c(d+)/ {
#return 404;
rewrite ^/c(\d+)/$ /category/$1/ break;
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
break;
}
location /al/ {
#return 404;
rewrite ^/al/$ /article/list/ break;
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
break;
}
location ~ /al(d+)/ {
#return 404;
rewrite ^/al(\d+)/$ /article/list/$1/ break;
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
break;
}
location /as/ {
#return 404;
rewrite ^/as/$ /article/special/ break;
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
break;
}
location ~ /as(d+)/ {
#return 404;
rewrite ^/as(\d+)/$ /article/special/info/$1/ break;
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
break;
}
location ~ /asl(d+)/ {
#return 404;
rewrite ^/asl(\d+)/$ /article/special/$1/ break;
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
break;
}
location ~ /aki(d+)/ {
#return 404;
rewrite ^/aki(\d+)/$ /ask/info/$1/ break;
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
break;
}
location / {
if ( $request_uri !~* ^/api ) {
rewrite ^/article/info/(\d+)(\/?)$ /ai$1/ permanent;
rewrite ^/article/list/(\d+)(\/?)$ /al$1/ permanent;
rewrite ^/article/list(\/?)$ /al/ permanent;
rewrite ^/article/special/info/(\d+)(\/?)$ /as$1/ permanent;
rewrite ^/article/special/(\d+)(\/?)$ /asl$1/ permanent;
rewrite ^/article/special(\/?)$ /as/ permanent;
rewrite ^/category/(\d+)(\/?)$ /c$1/ permanent;
rewrite ^/ask/info/(\d+)(\/?)$ /aki$1/ permanent;
rewrite ^([^.]*[^/])$ $1/ permanent;
}
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}