Obtener 404 en una ruta/precio específico con el servidor Apache

Obtener 404 en una ruta/precio específico con el servidor Apache

Configuré un servidor Apache en Ubuntu 20.04

El sitio se carga bien cuando cargo primero la página de inicio (https://leadzilla.ai) y luego cuando hago clic en el botón de precios y me lleva ahttps://leadzilla.ai/pricingy esa página también se carga bien.

Pero cuando voy directamente ahttps://leadzilla.ai/pricingen el navegador me sale un 404

Esto es lo que tengo en/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>

Tengo esta configuración en/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>

tengo wordpress activadohttps://leadzilla.ai/blogentonces eso también hay que cuidarlo.

Esto es lo que he probado: RewriteRule ^pricing$ pricing.html [NC]

Lo agregué antes de la otra regla de reescritura, pero no parece funcionar. ¿Algunas ideas?

[EDITAR]

Esto ya está solucionado. El problema era una configuración de Next.js, no una configuración de Apache.

Lo puse exportTrailingSlash: trueen mi module.exportsy funcionó.

Respuesta1

Me parece un comportamiento curioso. Pero si tienes un RewriteRulein the <VirtualHost *:443>, entonces también deberías tenerlo RewriteEngine On.

¿Hay algún enlace simbólico en su directorio? Nada parecido foo -> foo.html?

¿Hay directorios como /var/www/html/pricing/ en su estructura de directorios?

Además, recuerde que todo su tráfico termina en HTTPS, lo que significa que solo está <VirtualHost *:443>en juego. La otra entrada de host virtual solo se usa el tiempo suficiente para redirigir de HTTP a HTTPS. Cualquier regla de reescritura para :80 VirtualHost no se aplica en HTTPS.

información relacionada