首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Nginx位置块不适用于链接

Nginx位置块不适用于链接
EN

Stack Overflow用户
提问于 2018-03-06 02:20:53
回答 2查看 297关注 0票数 3

我有以下几点:

代码语言:javascript
运行
复制
location /ron-swanson-quotes/ {
  return 301 /ron-swanson/;
}      

和一个SSR React next.js应用程序。

此处的重写适用于从外部访问该站点的用户,但如果我单击内部链接,则不适用。nginx是否能够监听node中发生的事情,或者nginx永远不知道它们?

编辑:当它链接到外部时,它可以很好地重定向。当在应用程序中单击它时,Nginx日志如下:

代码语言:javascript
运行
复制
[2018-03-05T19:06:13+00:00] #######.xyz 71.211.##.## "GET /communicator/paulo-coelho/ HTTP/1.1" 304 "http://####.xyz/x-paulo-coelho-quotes-that-will-soothe-your-aching-heart/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36" 1.180

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-03-10 01:08:52

所以,

我们使用的包是custom-express-server。我意识到,与使用nginx相比,更好的选择是有一个重定向数组,并在自定义快速设置中有一个重定向,在getInitialProps中有一个前端重定向。

当我们在getInitialProps中做重定向时,页面转换中断了,所以我们不得不在那里硬编码。

票数 0
EN

Stack Overflow用户

发布于 2018-03-06 02:29:00

你的前端的开发版本也是SSR吗?您可能只需要将链接从相对路径更新为绝对路径,并确保不使用React-Router Link组件。React路由器可以处理相对路径,因为它将其视为前端路由,因此使用绝对路径而不使用链接组件通过Nginx发送请求。

示例

而不是这样:

代码语言:javascript
运行
复制
<Link to='/ron-swanson-quotes'>Ron Swanson</Link>

执行以下操作:

代码语言:javascript
运行
复制
<a href='https://yourronswansonwebsite.com/ron-swanson-quotes'>Ron Swanson</a>

干杯

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49117018

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档