Javascript 下一个JS404页面没有';不行。有什么问题吗?
当我尝试走一条不存在的路线时,总是加载主页,但URL不变。我希望收到404页 我创建了一个自定义错误页面Javascript 下一个JS404页面没有';不行。有什么问题吗?,javascript,reactjs,next.js,server-side-rendering,production,Javascript,Reactjs,Next.js,Server Side Rendering,Production,当我尝试走一条不存在的路线时,总是加载主页,但URL不变。我希望收到404页 我创建了一个自定义错误页面pages/\u error.js import Page404 from './404'; function Error({ statusCode }) { return statusCode ? ( <p>{`An error ${statusCode} occurred on server`}</p> ) : ( <Page404
pages/\u error.js
import Page404 from './404';
function Error({ statusCode }) {
return statusCode ? (
<p>{`An error ${statusCode} occurred on server`}</p>
) : (
<Page404 />
);
}
Error.getInitialProps = ({ res, err }) => {
const statusCode = res ? res.statusCode : err ? err.statusCode : 404;
return { statusCode };
};
export default Error;
从“/404”导入第404页;
函数错误({statusCode}){
返回状态码(
{`服务器`}上发生错误${statusCode}
) : (
);
}
Error.getInitialProps=({res,err})=>{
const statusCode=res?res.statusCode:err?err.statusCode:404;
返回{statusCode};
};
导出默认错误;
请告诉我,我做错了什么?我找到了解决办法。在
nginx.conf
中,我发现下面一行try_files$uri$uri//index.html=404
并将/index.html
更改为/404/index.html
,这很有帮助。但是我不知道这是否是一个好的解决方案。我找到了一个解决方案。在nginx.conf
中,我发现下面一行try_files$uri$uri//index.html=404
并将/index.html
更改为/404/index.html
,这很有帮助。但我不知道这是否是一个好的解决方案。错误页面仅用于生产,而不用于开发。这可能是造成这个问题的原因。在开发过程中,一切都很好。这是一个生产问题,404上的所有路线都会转到主页,URL不会改变错误页面仅用于生产,而不用于开发。这可能是造成这个问题的原因。在开发过程中,一切都很好。这是一个生产的问题,所有的路线将被引导到404的主页和网址不会改变