我正在制作具有不同语言的网站,并且我希望页面网址因语言而异。
例如:www.website.com/anasayfa,www.website.com/home相同页面但网址不同。
我正在使用此代码<Link href="/home" as="/anasayfa">
,但是当我刷新页面时发现404错误。
我该怎么做?
答案 0 :(得分:0)
有可能,但是您需要做两件事
<Link href="/home" as="/anasayfa">
/anasayfa
映射到正确的页面。// server.js
const express = require('express');
const next = require('next');
const port = parseInt(process.env.PORT, 10) || 3000;
const dev = process.env.NODE_ENV !== 'production';
const app = next({dev});
const handle = app.getRequestHandler();
app.prepare().then(() => {
const server = express();
const pagesMap = {
'/anasayfa': '/home',
};
server.all('*', (req, res) => {
if (pagesMap.hasOwnProperty(req.pathname)) {
return app.render(req, res, pagesMap[req.pathname], req.query);
}
return handle(req, res);
});
server.listen(port, (err) => {
if (err) throw err;
console.log(`> Ready on http://localhost:${port}`);
});
});
我的实现是超级简单,但是认为您可以发出数据库请求并从它或任何其他复杂的解决方案中加载此映射
此代码段基于custom-server-express。