- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在构建一个 Vue/Nuxt 应用程序,并结合修改后的 Saleor 安装来在线销售产品。
当我们从现有系统迁移时,我们需要能够处理从旧网站 URL 到新网站 URL 的 301 重定向。
我已修改 API 以响应以下 GraphQL 查询。
export const CHECK_REDIRECTS_QUERY = gql`
query Redirect($oldPath: String) {
redirect(oldPath: $oldPath) {
oldPath
newPath
}
}
`
继this recommendation之后我在 ~/serverMiddleware/redirect.js 文件中创建了以下代码
import { CHECK_REDIRECTS_QUERY } from '~/graphql/navigation/queries'
export default function(req, res, next) {
console.log('redirects middleware')
// context.userAgent = process.server ? context.req.headers['user-agent'] : navigator.userAgent
this.$apollo
.query({
query: CHECK_REDIRECTS_QUERY,
variables: {
oldPath: '/test/11/old/'
}
})
.then(({ data }) => {
if (data.redirect.newUrl !== '') {
res.writeHead(301, { Location: data.redirect.newUrl })
res.end()
}
})
}
我还将其添加到我的 nuxt.config.js 文件中,如下所示:
...
serverMiddleware: ['~/serverMiddleware/redirect.js'],
...
这不起作用,而且我不仅没有得到重定向,我期望函数开头的 console.log 也不会触发。
此外,我还尝试使用 github 推荐中编写的代码,这非常“不稳定”,在大约 50 次服务器重新启动中可能会触发两次。
我没有收到任何控制台通知,表明 apollo 无法在服务器中间件中使用,并且网站的其余部分似乎运行正常。
此外,为了澄清,我假设中间件应该在每个页面上自动触发,而不需要从组件手动调用?
最佳答案
关于graphql - 如何使用 Nuxt ServerMiddleware 和 Apollo GraphQL 处理 301 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58326878/
新的 nuxt.js 设置不附带服务器文件夹 您创建一个 API 文件夹并在其中放置一个公开服务器的文件 我正在尝试使用 ws 来使用 websockets解析用户 session 并收到此错误的库
新的 nuxt.js 设置不附带服务器文件夹 您创建一个 API 文件夹并在其中放置一个公开服务器的文件 我正在尝试使用 ws 来使用 websockets解析用户 session 并收到此错误的库
想法 首先,您有一个与其他网站一样的主要 Nuxt 网站。然后将我的模块添加到您的项目中。然后,我的模块将一个子域“admin.example.com”添加到您的项目中,这是一个完全充实的基于 Nux
我不想从 301.json 获取重定向,而是想向我的 api 发出一个返回我的 json 的请求。 我正在使用 @nuxtjs/axios 模块。 const redirects = require(
我目前正在构建一个 Vue/Nuxt 应用程序,并结合修改后的 Saleor 安装来在线销售产品。 当我们从现有系统迁移时,我们需要能够处理从旧网站 URL 到新网站 URL 的 301 重定向。 我
我目前正在构建一个 Vue/Nuxt 应用程序,并结合修改后的 Saleor 安装来在线销售产品。 当我们从现有系统迁移时,我们需要能够处理从旧网站 URL 到新网站 URL 的 301 重定向。 我
我是一名优秀的程序员,十分优秀!