我想将NextJS应用程序与Laravel应用程序集成。
NextJS app负责路由
/
/node/123456789
/way/123456789
/relation/123456789
/install
字符串
其中123456789任何数字。
Laravel应用程序应该负责所有其他URL。
NextJS应用程序的所有页面路由看起来像这样:
const [osmtype, osmid] = all;
const shortId =
osmtype && osmtype.match(/^node|way|relation$/)
? osmtype.substr(0, 1) + osmid
: id;
if (!shortId) {
return notFound();
}
型
我正在尝试在next.js.js中重写
目前我有负的lookahead regexp如下所示:
rewrites: () => {
return [
{
source: '/((?!node|way|relation|install):path*)',
destination: `http://pages.example.com/:path*`,
}
]
}
型
但这不会匹配并调用NextJS应用程序的404页面。
我也试
source: '/((?!node|way|relation|install)):path*',
型
在这里,我走近了一点。
调用类似http://nextjsapp.example.com/bar
的东西
会导致在pages.example.com的Apache访问日志中出现GET /r
-所以不知何故:path* only捕获了最后一个字母。
我如何让它匹配完整路径并将其传递到Laravel后端?
此外,我尝试了回退重写,但由于NextJs应用程序中路由的性质,这似乎不起作用-我仍然会得到404错误。
1条答案
按热度按时间avkwfej41#
*
太多了-我也不知道destionation
中的反引号是从哪里来的。字符串