Obtendo 404 em um caminho/preço específico com o servidor Apache

Obtendo 404 em um caminho/preço específico com o servidor Apache

Eu configurei um servidor Apache no Ubuntu 20.04

O site carrega bem quando carrego a página inicial primeiro (https://leadzilla.ai) e depois disso, quando clico no botão de preços e levo parahttps://leadzilla.ai/pricinge essa página também carrega bem.

Mas quando vou diretamente parahttps://leadzilla.ai/pricingno navegador, recebo um 404

Aqui está o que eu tenho em/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>

Eu tenho essa configuração em/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>

Eu tenho Wordpress ativadohttps://leadzilla.ai/blogentão isso também precisa ser cuidado.

Aqui está o que eu tentei: RewriteRule ^pricing$ pricing.html [NC]

Eu adicionei antes da outra regra de reescrita, mas isso não parece estar funcionando. Alguma ideia?

[EDITAR]

Isso está resolvido agora. O problema era uma configuração do Next.js, não uma configuração do Apache.

coloquei exportTrailingSlash: trueno meu module.exportse funcionou

Responder1

Acho isso um comportamento curioso. Mas se você tem um RewriteRuleno <VirtualHost *:443>, então você também deveria ter RewriteEngine On.

Existe algum link simbólico em seu diretório? Qualquer coisa como foo -> foo.html?

Existem diretórios como /var/www/html/pricing/ na sua estrutura de diretórios?

Além disso, lembre-se de que todo o seu tráfego acaba em HTTPS, o que significa que apenas o <VirtualHost *:443>está em jogo. A outra entrada de host virtual é usada apenas por tempo suficiente para redirecionar de HTTP para HTTPS. Quaisquer regras de reescrita para :80 VirtualHost não se aplicam em HTTPS.

informação relacionada