angular - 角度 ssr 的 ERR_TOO_MANY_REDIRECTS 问题
问题描述
我正在我的server.ts
文件中实现我的 301 重定向。我在server.get()
函数中重定向到 301:
server.get('*', (req, res) => {
let incomingUrl = req.headers.referer;
if (incomingUrl && (/.*\/resources(\/.*\/).*/.test(incomingUrl))) {
let redirectedUrl = incomingUrl.replace(/.*\/resources(\/.*\/).*/, (a, b) => {
return a.replace(b, b.toLowerCase().split('%20').join('-'));
});
res.redirect(301, redirectedUrl);
} else {
res.render(indexHtml, { req, providers: [
{ provide: APP_BASE_HREF, useValue: req.baseUrl },
{ provide: REQUEST, useValue: req },
{ provide: RESPONSE, useValue: res }
] });
}
});
我检查传入的 url 是否包含“资源”,如果包含,则删除“%20”的所有实例并将其替换为连字符。当我点击原始 url (<base_url>/resources/Example%20Url) 时,我看到该 url 确实获得了多个 301 重定向,但最后,我收到一个失败的请求,带有 ERR_TOO_MANY_REDIRECTS 并且我没有被重定向到新的 url如下面的屏幕截图所示。如何解决此问题并将旧网址重定向到新网址?
解决方案
推荐阅读
- python - 确保查询是原子的
- android - Xamarin Android 从片段实例获取视图
- r - 如何在R中的栅格数据中找到具有特定值的像素的坐标
- android - 用 http url 反应本机发送意图 openFileChooser 选项不起作用
- r - 绘制代表时间序列的观测集群
- tiddlywiki - 在 Tiddler 中,如何列出其所有字段及其值?
- typescript - 打字稿:定义为元组的扩展函数参数
- vuejs2 - 升级到 2.0+ v-calendar 后,日期选择器始终打开(加载时)
- ruby-on-rails - 项目选择的 ruby 版本与使用 asdf-ruby 的 ruby -v 不匹配
- python - While 循环意外退出