1
resposta

Remover caminho de diretório da URL

Publiquei o primeiro site que fiz para meu portfólio: www.sistema3dx.com.br O site tem apenas duas páginas .html, porém quando entro na segunda página ele aparece o diretório do arquivo e o .html na frente, e quando retorno também acontece o mesmo no index, ficando assim: www.sistema3dx.com.br/html/index.html e www.sistema3dx.com.br/html/suplementos.html

Tentei reescrever usando o .htacess mas não consigo fazer funcionar. Estou usando o host da Hostinger, coloquei o .htacess na raiz do public_html com o seguinte código:

RewriteEngine on RewriteCond %{HTTP_GET} ^https://www.sistema3dx.com.br/ RewriteRule .* https://sistema3dx.com.br/home

Coloquei o tipo de requisição (GET), coloquei a URL que é solicitada no header do get (https://www.sistema3dx.com.br/), usei a regex para todos caracteres (.*) e pedi para reescrever como (https://sistema3dx.com.br/home)

Não sei se estou fazendo algo errado, mas tem hora que funciona somente a remoção do www, hora não funciona nada. Alguém tem alguma ideia do por que não funciona? Se houverem outras formas de fazer isso seria interessante, pois não achei muito sobre.

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

Olá Gabriel!

Pelo que entendi, você está tentando remover o caminho do diretório e a extensão .html da URL do seu site. No entanto, o código que você está usando no arquivo .htaccess não está funcionando corretamente.

Uma alternativa para remover o caminho do diretório e a extensão .html da URL é utilizar a funcionalidade de reescrita de URL do Apache. Para isso, você precisa habilitar o módulo mod_rewrite no seu servidor.

Após habilitar o mod_rewrite, você pode criar um arquivo .htaccess na raiz do seu site com o seguinte código:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.*)$ $1.html [L]

Esse código irá verificar se o diretório não existe e se o arquivo com a extensão .html existe. Em seguida, ele irá reescrever a URL para remover a extensão .html.

Certifique-se de que o arquivo .htaccess esteja na raiz do seu site e que o mod_rewrite esteja habilitado no servidor. Além disso, verifique se o arquivo .html existe para cada página do seu site.

Espero que isso ajude! Se tiver mais alguma dúvida, é só me dizer. Bons estudos!