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

Apache服务器直接访问/pricing路径报404的问题排查与解决(涉及Next.js配置)

Apache服务器直接访问/pricing路径报404的问题排查与解决(涉及Next.js配置)

我来帮你梳理这个问题的排查过程和最终解决办法,你遇到的这种场景其实挺典型的——前端路由和服务器配置的适配问题。

问题场景

  • 运行环境:Ubuntu 20.04 + Apache服务器
  • 核心现象:
    • 先访问首页https://leadzilla.ai,再点击定价按钮跳转到https://leadzilla.ai/pricing,页面能正常加载
    • 直接在浏览器地址栏输入https://leadzilla.ai/pricing,会返回404错误
  • 额外说明:站点下的/blog路径部署了WordPress,需要保持正常运行

当前Apache配置

你当前使用的两个Apache配置文件内容如下:

80端口配置(/etc/apache2/sites-available/leadzilla.ai.conf)

<VirtualHost *:80>
    DocumentRoot /var/www/leadzilla.ai
    ServerName leadzilla.ai
    ServerAlias www.leadzilla.ai

    <Directory /var/www/leadzilla.ai>
        Options Indexes FollowSymLinks
        AllowOverride all
        Order Deny,Allow
        Allow from all
    </Directory>

    RewriteEngine on
    RewriteCond %{SERVER_NAME} =leadzilla.ai [OR]
    RewriteCond %{SERVER_NAME} =www.leadzilla.ai
    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

443 SSL端口配置(/etc/apache2/sites-available/leadzilla.ai-le-ssl.conf)

<IfModule mod_ssl.c>
    <VirtualHost *:443>
        DocumentRoot /var/www/leadzilla.ai
        ServerName leadzilla.ai
        ServerAlias www.leadzilla.ai

        <Directory /var/www/leadzilla.ai>
            Options Indexes FollowSymLinks
            AllowOverride all
            Order Deny,Allow
            Allow from all
            #Deny from all
            #Allow from 127.0.0.1
            #Allow from ::1
        </Directory>

        <Directory /var/www/leadzilla.ai/blog>
            AllowOverride All
        </Directory>

        Include /etc/letsencrypt/options-ssl-apache.conf
        SSLCertificateFile /etc/letsencrypt/live/leadzilla.ai/fullchain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/leadzilla.ai/privkey.pem
    </VirtualHost>
</IfModule>

尝试过的无效方法

你曾在Apache配置中添加以下重写规则,但没有解决问题:

RewriteRule ^pricing$ pricing.html [NC]

最终解决办法

后来确认问题根源不在Apache配置,而是Next.js的路由配置导致的。在Next.js的配置文件(通常为next.config.js)中添加exportTrailingSlash: true后,直接访问/pricing路径就可以正常加载了。

配置示例:

module.exports = {
  exportTrailingSlash: true,
  // 其他你的项目配置项
}

备注:内容来源于stack exchange,提问作者Saurav Gupta

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 12:19:07