我们有一个在 AWS S3 上托管/部署的 React 应用程序。它使用react-router-dom v6
当出现错误时,我将其设置为转到index.html。问题是,在React中像“xxx/admin”这样移动时,s3中实际上只有index.html(xxx/admin不存在),导致404错误。之后,当发生错误时,是重定向到index.html,然后正确调用。
请告诉我如何消除这个错误。很难找到,因为这是我的第一个aws。
我认为在导入react.js包之前,首先进行xxx/main请求并将错误重定向到index.html。当重定向到index.html时,导入的js因此react将呈现正确的页面。如果是这样,我该如何解决这个问题?
或者
我认为这是SPA,所以只有一个index.html文件存在,但是当发生错误时,AWS s3调用了不存在的文件。我想知道根本的解决方案而不是使用cloudFront。(重定向错误 404 -> 200)。
-- 您好,我不明白为什么“#define max(a,b) (a>b)?(a):(b)”不能按我的预期工作。
#include<cstdio>
#define max(a,b) (a>b)?(a):(b)
int main(void){
printf("%d\n",max(3,5)); // result = 5 (work correctly)
int a = 3 + max(3,5);
printf("%d\n",a); // result = 3 (work incorrect and i don`t know why..)
}
Run Code Online (Sandbox Code Playgroud)
我不知道为什么变量 + 宏不起作用。
但是,在这种情况下,“#define max(a,b) ((a>b)?(a):(b))”工作正常。即使是 var + 宏的情况。
请任何人澄清这一点.. thx。