You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Next 13.4部署后链接自动追加.txt致页面无法加载,求非降级解决方案

解决Next.js 13.4静态导出后重定向自动添加.txt后缀的问题
  • 检查服务器静态文件映射配置
    由于你使用了output: "export"生成静态站点,Next.js会将页面导出为.html文件(比如list.html)。问题大概率出在服务器没有正确映射请求路径到对应html文件,反而错误添加了.txt后缀。

    • 若用Nginx,修改配置文件,确保请求优先匹配对应路径的html文件:
      location / {
        try_files $uri $uri/ $uri.html =404;
      }
      
    • 若用Apache,在站点根目录的.htaccess中添加规则:
      RewriteEngine On
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule ^(.*)$ $1.html [L]
      
  • 排查Next.js重定向规则
    如果你在next.config.js中配置了自定义重定向,检查规则里的destination是否错误添加了.txt后缀。确保重定向目标路径正确:

    const nextConfig = {
      // 现有配置...
      async redirects() {
        return [
          {
            source: '/old-user-list',
            destination: '/dashboard/user-managment/list', // 此处不要加.txt
            permanent: true,
          },
        ];
      },
    };
    
  • 检查应用内路由跳转代码
    遍历应用中所有使用Link组件或router.push的地方,确认没有硬编码或动态生成路径时错误拼接了.txt:

    // 正确示例
    <Link href="/dashboard/user-managment/list">用户管理列表</Link>
    
    // 错误示例(需修正)
    <Link href="/dashboard/user-managment/list.txt">用户管理列表</Link>
    
  • 清理缓存后重新构建部署
    构建缓存可能导致异常残留,执行以下命令清理后重新构建:

    rm -rf .next out
    npm run build
    

    再将生成的out目录重新部署到服务器。

内容的提问来源于stack exchange,提问作者Alperen Kapusuz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 20:40:19