构建 NUXT 应用程序时无法获取 /PATH 错误 - 查询参数中的 DOT
cannot GET /PATH error when building NUXT app - DOT in the query params
我的 nuxt 应用程序有一个奇怪的问题。每当我 运行 npm run dev
一切正常。但是一旦我 npm run build
然后 npm run start
我就会遇到 cannot GET [path of the page here]
的问题
我注意到只有在 url 中添加此查询 ?verify_url=http%3A%2F%2Fapi.uareacademy.com.au%3A8000%2Fapi%2Femail%2Fverify%2F38%3Fexpires%3D1650449854%26hash%3D09fcd461f0b902db36c51eee9f5ad46782487f70%26signature%3D11b88607ea9664ac3f9792146e88b5130001fe60af5124f00b8cd9da4950afcf
时才会遇到该问题。如果我删除此查询,页面加载正常。
我一直在努力寻找解决方案,但我有点被困在这里了。任何帮助将不胜感激。
谢谢
===
编辑 1:我发现了问题所在。它是查询参数 api.uareacademy.com.au
中的点 (.),我正在弄清楚如何修复它。完成后我会更新。
编辑 2:好的,我修复了它。我也需要从服务器对点进行编码。这是我所做的(使用 php)。手动将 .
替换为 %2E
解决了问题
$url = $frontendUrl . '?verify_url=' . urlencode($verifyUrl);
return str_replace('.', '%2E', $url);
编辑 3:现在,尽管编辑了两个用于测试邮件服务(如邮件陷阱)的作品。它不适用于 gmail 和 outlook 等实时电子邮件服务。试试这个
return $frontendUrl . '?verify_url=' . str_replace('.', '%2E',urlencode($verifyUrl));
好的,我修好了。我也需要从服务器对点进行编码。这是我所做的(使用 php)。手动将 .
替换为 %2E
解决了问题
$url = $frontendUrl . '?verify_url=' . urlencode($verifyUrl);
return str_replace('.', '%2E', $url); // this wont work
return $frontendUrl . '?verify_url=' . str_replace('.', '%2E',urlencode($verifyUrl)); //this works
我的 nuxt 应用程序有一个奇怪的问题。每当我 运行 npm run dev
一切正常。但是一旦我 npm run build
然后 npm run start
我就会遇到 cannot GET [path of the page here]
我注意到只有在 url 中添加此查询 ?verify_url=http%3A%2F%2Fapi.uareacademy.com.au%3A8000%2Fapi%2Femail%2Fverify%2F38%3Fexpires%3D1650449854%26hash%3D09fcd461f0b902db36c51eee9f5ad46782487f70%26signature%3D11b88607ea9664ac3f9792146e88b5130001fe60af5124f00b8cd9da4950afcf
时才会遇到该问题。如果我删除此查询,页面加载正常。
我一直在努力寻找解决方案,但我有点被困在这里了。任何帮助将不胜感激。
谢谢
===
编辑 1:我发现了问题所在。它是查询参数 api.uareacademy.com.au
中的点 (.),我正在弄清楚如何修复它。完成后我会更新。
编辑 2:好的,我修复了它。我也需要从服务器对点进行编码。这是我所做的(使用 php)。手动将 .
替换为 %2E
解决了问题
$url = $frontendUrl . '?verify_url=' . urlencode($verifyUrl);
return str_replace('.', '%2E', $url);
编辑 3:现在,尽管编辑了两个用于测试邮件服务(如邮件陷阱)的作品。它不适用于 gmail 和 outlook 等实时电子邮件服务。试试这个
return $frontendUrl . '?verify_url=' . str_replace('.', '%2E',urlencode($verifyUrl));
好的,我修好了。我也需要从服务器对点进行编码。这是我所做的(使用 php)。手动将 .
替换为 %2E
解决了问题
$url = $frontendUrl . '?verify_url=' . urlencode($verifyUrl);
return str_replace('.', '%2E', $url); // this wont work
return $frontendUrl . '?verify_url=' . str_replace('.', '%2E',urlencode($verifyUrl)); //this works