Apache redireciona para index.html para AngularJs

1

Estou construindo e implantando meu aplicativo AngularJs.

A estrutura das pastas é a seguinte:

/
/path
/path/to
/path/to/install
/path/to/install/index.html
/path/to/install/js
/path/to/install/css
...

Eu quero redirecionar todas as solicitações para /path/to/install/index.html, exceto se existirem arquivos de solicitação.

Originalmente eu coloquei minha aplicação em / dev e meu .htaccess colocado dentro de / dev é:

Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on

ErrorDocument 404 /dev/index.html

# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_URI} !/api
RewriteRule ^.*$ - [NC,L]

# otherwise forward it to index.html
#RewriteRule ^.*$ - [NC,L]
RewriteRule ^/(.*) /dev/$1 [NC,L]

Funciona bem. No entanto, quando eu vou colocá-lo em / path / to / install e alterar '/ dev' em .htaccess, o servidor sempre me 500 Erro de servidor interno, mesmo que eu digite:

www.mysite.com/path/to/install/index.html

Quando eu removo o .htaccess em / path / to / install /, o erro 500 desapareceu. Eu tentei colocar o .htaccess em / path etc. e tentei algumas configurações de caminho diferentes em .htaccess, mas ainda não consigo resolvê-lo.

Quando eu coloco o arquivo .htaccess em / path / to / install: Eu descobri que se o arquivo .htaccess contém:

Options +FollowSymLinks

apenas, sem erro 500, mas se houver .htaccess conatins:

Options +FollowSymLinks
IndexIgnore */*

ou

Options +FollowSymLinks
RewriteEngine on

ambos os dois me dão 500.

Não tenho certeza se dá uma pista sobre qual é o problema. Como resolver isso?

    
por tom10271 27.04.2014 / 06:27

1 resposta

0

Isso ocorre devido ao formato errado de separadores de linha para .htaccess. Use o editor de texto para alterar o formato para outro (CRLF / LF / CR) irá resolver o problema.

    
por 28.11.2014 / 05:32