custom-error-pages 相关问题

创建,使用和自定义错误页面以增强用户体验。

404 页面无法在 Nextjs 静态生成文件上工作

我在生成静态生成文件时无法显示我制作的 404 自定义页面(下一个构建&&下一个导出) 当我导航到不存在的页面时(“/ 我在生成静态生成文件时无法显示我制作的 404 自定义页面 (next build && next export) 当我导航到不存在的页面(“/<any-non-existing”)时,它总是重定向到主页(“/”)。我的期望是它会自动重定向到(“/404”)。 但是,如果我手动导航到(“/404”)页面,该页面工作得很好。 使用 Cloudfront 部署到 S3 启用 next.config.js { trailingSlash: true } 这是由于您对未找到页面的命名造成的。它不会是 404.tsx,而是您需要将其设置为 not-found.tsx 才能完成您的工作。

回答 1 投票 0

使用tauri构建的Next.js应用程序不显示我的404页面

我有一个 next.js 应用程序,其文件 /app/not-found.tsx 在使用时完美运行 金牛座货运开发公司 但是当我用以下命令编译应用程序时 货运金牛座建造 或者 货物 tauri 构建--调试 并导航至

回答 1 投票 0

使用 tauri 构建的 Next.js 应用程序不显示 404 页面

我有一个 next.js 应用程序,在 /app 文件夹中包含 not-found.tsx 文件,在使用时可以完美运行 金牛座货运开发公司 但是当我编译应用程序时 货运金牛座建造 // 或者 货物 tauri 构建--调试 并继续...

回答 1 投票 0

在未找到入口时自定义 nginx 入口控制器的 404 页面

当主机未绑定到入口时,Nginx 入口控制器返回 404。我只想在这种情况下定制404。如果可能的话,我怎样才能实现这一目标。 创建自定义 404...

回答 1 投票 0

AWS 上的 ALB 背后出了什么问题导致我收到 404 错误(随机)?

我已设置 AWS 应用程序负载均衡器以重定向到 IIS (ec2)。 之后还会有更多的ec2。目前,出于测试目的,我仅重定向到此虚拟机。 我还在 Route53 上创造了 A 记录

回答 1 投票 0

当用户在我的网站上输入错误的网址时,如何将他们重定向到错误页面?仍处于设计模式

我正在构建一个电子商务进行测试,我希望不在我的数据库中的任何页面直接进入我的错误页面,以便用户仍然可以留在网站上并希望参与网站上的其他活动。 我是...

回答 1 投票 0

我似乎有 500 错误页面,没有 404 错误页面,为什么?

我正在尝试创建自定义 500 和 404 错误页面 这是我的 .htaccess 页面: 选项-多视图 重写引擎开启 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d

回答 2 投票 0

为什么自定义 404 页面在 Next.js 13 中不起作用?

在接下来的13中,我尝试使用自定义404页面,使用以下方法:https://nextjs.org/docs/app/api-reference/file-conventions/not-found。但是当我写下不匹配的 URL 时,我看到的是空白页面! 这是我的

回答 1 投票 0

NginX - 如何根据 URI 文件类型将 404 重定向到不同位置

目前我的 nginx 配置中有这个: error_page 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 421 422 423 424 425 426 428 429 431 451 500 501 502 503 504 505 506 ...

回答 1 投票 0

NginX - 如果自定义文件类型(例如 .html、.htm)出现 404 错误,则重定向到索引页面

目前我的 nginx 配置中有这个: error_page 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 421 422 423 424 425 426 428 429 431 451 500 501 502 503 504 505 506 ...

回答 1 投票 0

htaccess ErrorDocument 404 仅适用于子目录

我想将用户重定向到自定义 404 页面。 重写引擎开启 # 如果请求的是目录,则不执行任何操作 RewriteCond %{REQUEST_FILENAME} -d 重写规则 ^ - [L] ...

回答 1 投票 0

如何在自定义JSP错误页面中查看并显示异常信息和状态码?

我知道我可以像这样在 web.xml 中添加一些内容 java.lang.Throwable /错误.jsp 我知道我可以像这样在 web.xml 中添加一些内容 <error-page> <exception-type>java.lang.Throwable</exception-type> <location>/error.jsp</location> </error-page> 然而,jsp 页面不会显示任何建设性信息,因为它无法获取异常到底是什么。我知道我们可以通过各种 exception-type 将不同的异常转发到不同的页面,但是在 web.xml 中编写的内容太多了。我希望一页就足够了,另一页可以处理 404 之类的错误。 那么应该如何将异常信息传递到jsp页面呢?使用会话? 理想的情况可能是页面获取异常信息并显示一些相关消息,而不向用户透露异常。相反,它可以将其记录到文件中以供将来参考。实现这一目标的最佳方法是什么?谢谢。 有关异常的信息已经可通过多个请求属性获得。您可以在 the RequestDispatcher javadoc: 中找到所有这些属性的名称 ERROR_EXCEPTION - javax.servlet.error.exeption ERROR_EXCEPTION_TYPE - javax.servlet.error.exception_type ERROR_MESSAGE - javax.servlet.error.message ERROR_REQUEST_URI - javax.servlet.error.request_uri ERROR_SERVLET_NAME - javax.servlet.error.servlet_name ERROR_STATUS_CODE - javax.servlet.error.status_code 所以,简而言之,这个 JSP 示例应该显示所有可能的异常详细信息: <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> ... <ul> <li>Exception: <c:out value="${requestScope['javax.servlet.error.exception']}" /></li> <li>Exception type: <c:out value="${requestScope['javax.servlet.error.exception_type']}" /></li> <li>Exception message: <c:out value="${requestScope['javax.servlet.error.message']}" /></li> <li>Request URI: <c:out value="${requestScope['javax.servlet.error.request_uri']}" /></li> <li>Servlet name: <c:out value="${requestScope['javax.servlet.error.servlet_name']}" /></li> <li>Status code: <c:out value="${requestScope['javax.servlet.error.status_code']}" /></li> </ul> 此外,您还可以展示这些有用的信息: <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %> <jsp:useBean id="date" class="java.util.Date" /> ... <ul> <li>Timestamp: <fmt:formatDate value="${date}" type="both" dateStyle="long" timeStyle="long" /></li> <li>User agent: <c:out value="${header['user-agent']}" /></li> </ul> 当您将页面标记为错误页面时,具体的 Exception 实例本身在 JSP 中仅可用作 ${exception}: <%@ page isErrorPage="true" %> ... ${exception} 仅当您使用 EL 2.2 或更高版本时,您才可以打印其堆栈跟踪,如下所示: <%@ page isErrorPage="true" %> ... <pre>${pageContext.out.flush()}${exception.printStackTrace(pageContext.response.writer)}</pre> 或者,如果您尚未使用 EL 2.2,则为此创建一个 自定义 EL 函数: public final class Functions { private Functions() {} public static String printStackTrace(Throwable exception) { StringWriter stringWriter = new StringWriter(); exception.printStackTrace(new PrintWriter(stringWriter, true)); return stringWriter.toString(); } } 注册于/WEB-INF/functions.tld: <?xml version="1.0" encoding="UTF-8" ?> <taglib xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd" version="2.1"> <display-name>Custom Functions</display-name> <tlib-version>1.0</tlib-version> <uri>http://example.com/functions</uri> <function> <name>printStackTrace</name> <function-class>com.example.Functions</function-class> <function-signature>java.lang.String printStackTrace(java.lang.Throwable)</function-signature> </function> </taglib> 并且可以用作 <%@ taglib prefix="my" uri="http://example.com/functions" %> ... <pre>${my:printStackTrace(exception)}</pre> 对于异常的日志记录,最简单的地方是filter,它映射到/*的URL模式上,并且基本上执行以下操作: try { chain.doFilter(request, response); } catch (ServletException e) { log(e.getRootCause()); throw e; } catch (IOException e) { // If necessary? Usually not thrown by business code. log(e); throw e; } 是的,在我看来,会话是存储与当前请求相关的异常的好地方。 处理完异常后不要忘记清除它。 此外,您还可以将错误代码从支持代码传递到表示层,而不是异常,在表示层中可以使用属性文件将其转换为某种对用户而言意味着完全错误的代码。

回答 2 投票 0

在 Next.js App Router 路由处理程序中抛出 404 不会显示 404 页面

我在 Next.js 中有这个路由处理程序: 导出异步函数 GET(_: 请求, { params: { statusId } }: Params) { const tweetResponse = 等待 queryClient< Tweet & Pick 我在 Next.js 中有这个路由处理程序: export async function GET(_: Request, { params: { statusId } }: Params) { const tweetResponse = await queryClient< Tweet & Pick<User, "name" | "userImage" | "tag"> >(`/tweets/${statusId}`, { cache: "no-store", }); if (!tweetResponse.success) { if (tweetResponse.status === 404) notFound(); throw new Error(tweetResponse.message); } const { tag, tweetId } = tweetResponse.data; redirect(`/${tag}/status/${tweetId}`); } 如果找到该推文,它将重定向到正确的页面。但如果不是,那么该函数应该抛出 404(如调用 notFound() 函数所示)。 问题是,Next.js 确实返回 404,但它不显示我的自定义 404 页面。事实上,它根本不显示 404 页面,不是我自定义的页面,也不是默认的 next.js 页面,相反,浏览器甚至找不到要显示的页面,所以它只是说“在地址处找不到网页” 如何解决这个问题?我只需要显示404页面(not-found.tsx中定义的自定义页面) 我就遇到了这种情况。使用路由处理程序调用 notFound() 只会向客户端组件返回 404。您需要做的是 try/catch API 调用并手动重定向到 /not-found。 类似: try { const response = await axios.get(`/api/tweets/${tweetId}`); } catch (e) { router.push('/not-found'); }

回答 1 投票 0

Oauth2-proxy - 重定向到上游 url(Django 应用程序网页)时出现 404 错误

我正在尝试使用 oauth2-proxy 保护 Django 应用程序 在 oauth2-proxy 配置中:(版本 7.2.1 或 7.3.0) 当上游 url 设置为如下所示时: --upstream="http:/...

回答 2 投票 0

Polylang 插件导致的 WordPress 错误“Nothing Found”

该网站位于 CMS WordPress 上,并且定期在进行任何编辑后(无论是帖子/页面的更改、更新插件、小部件或主题文件),都会出现“未找到”错误。

回答 1 投票 0

重定向404错误htaccess后重写URL

所以我知道这可能看起来有点奇怪,但为了保持一致性,我希望所有网址都以这种形式出现: http://example.com/page/ 到目前为止,我已经让常规页面正常工作了...

回答 4 投票 0

创建Tomcat自定义错误页面,但不在ROOT中

我可以将通用错误文件夹不放在 /ROOT 文件夹中,而是放在其他地方吗? 我正在运行带有多个应用程序的本地 Tomcat 服务器 (9.0.37),类似于下面的文件夹结构 雄猫/ ...

回答 1 投票 0

Symfony2:自定义错误页面扩展base.html.twig

我正在尝试自定义 Symfony 中的错误页面。 这是我的 error.html.twig 文件,位于 app/Resources/TwigBundle/views/Exception/ 中: {% 扩展 '::base.html.twig' %} {% 块体 %} <...

回答 6 投票 0

Next.js 自定义错误组件不显示

我在使用 Next.js 自定义错误组件时遇到问题。 我按照文档在我的 /pages 中创建了 404.js 组件,但看起来它无法识别,它仍然显示默认错误页面。 ...

回答 1 投票 0

Cloudfront 405 错误不显示自定义错误页面

我在 Cloudfront 上创建了自定义错误页面,HTTP 错误代码为 404 和 405。我将响应页面路径指向 s3 存储桶中托管的 private/index.html。 我设法显示自定义错误页面...

回答 0 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.