1
resposta

Dúvida Modo HTML5 AngularJS no Servidor

Olá, boa noite. Estou montando uma aplicação em AngularJS e NodeJs + Gulpfile com browserSync e precisava de uma ajuda. Preciso saber como faço para configurar o Apache Rewrites para que a rota do link da minha aplicação seja http:localhost:3000/home. Por acaso isso é um arquivo que fica a onde? Qual o nome dele? Na documentação não informa bem.

Estou usando ng-Route e $locationProvider.html5Mode(true); e coloquei o também o <base href="/"> além do prefixo hash $locationProvider.hashPrefix('');

Mesmo ativado como true, no momento a rota só funciona assim: http:localhost:3000/#home

Existe um tópico que já foi fechado, que é do mesmo assunto (link logo abaixo).

https://cursos.alura.com.br/forum/topico-angular-precisa-esta-rodando-no-servidor-35343

Se for necessário, envio o projeto inicial para analisar. Obrigado!

1 resposta

Fala ai Rafael, tudo bem?

Você pode habilitar o rewrite de duas maneiras:

  1. Linha de comando.
  2. Arquivo de configuração.

Para fazer via linha de comando, você pode usar o a2enmod:

sudo a2enmod rewrite
sudo systemctl restart apache2

Isso deve resolver.

Para fazer via arquivo, você vai precisar mexer no arquivo de configuração do seu site, normalmente esse arquivo fica dentro do apache2/sites-avaiable.

O arquivo precisa aceitar o .htaccess.

AllowOverride All

Dá uma olhada nesse artigo:

https://www.digitalocean.com/community/tutorials/how-to-rewrite-urls-with-mod_rewrite-for-apache-on-ubuntu-16-04

Espero ter ajudado.