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.

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!