htaccess não está funcionando

1

Estou começando com o Zend Framework e no site deles existe:

link

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

Como colocar isso em bom uso? O que devo fazer para que isso funcione? Agora, quando eu carregar meu site eu recebo 500 erro interno do servidor ...:)

Devo alterar REQUEST_FILENAME para outra coisa?

Ainda sou muito novo no htaccess e no mod_rewrite ...

Estou usando o WAMPSERVER ...

    
por Gavrisimo 18.09.2009 / 21:17

6 respostas

2

Aparentemente, ignorei a resposta mais óbvia: alterei isso:

#LoadModule rewrite_module modules/mod_rewrite.so

para isso:

LoadModule rewrite_module modules/mod_rewrite.so

no arquivo httpd.conf. Tudo funciona agora.

    
por 19.09.2009 / 06:12
0

erro interno do servidor significa que existe um erro no seu .htaccess

Tente removê-lo, apenas para ver se o problema desaparece. Neste caso, adicione suas linhas para encontrar o que está com defeito

    
por 18.09.2009 / 21:23
0

Existem muitas maneiras de obter o erro 500 com o .httaccess. Talvez você tenha definido permissões erradas no arquivo ou tenha um erro de digitação.

    
por 18.09.2009 / 21:31
0

Então eu acho que vejo o que você está recebendo. Seu basicamente tentando reescrever todos os pedidos que não existem para outra página. Ao invés do que você está fazendo, eu tentaria isso:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ /index.php [NC,L]

Isso só coincidirá se o arquivo / diretório / link não existir e o reescrever para apontar para a página de índice.

    
por 18.09.2009 / 22:09
0

Você deve verificar seus logs de erro do servidor para obter detalhes. Para o Apache, isso geralmente é %APACHE_DIR%\logs\error.log (no Windows) ou /var/logs/apache/error.log no Linux.

    
por 18.09.2009 / 22:43
0

Eu adicionei a regra de redirecionamento a seguir, o redirecionamento funciona bem, mas o URL na barra de endereço não é impresso ou parece conforme necessário.

RewriteRule ^ (a-z) .htm http: /localhost/info/mystuff.php? tech = $ 1 [L]

Eu quero que meu URL seja como link

mas é impresso como http: /localhost/info/mystuff.php? tech = w3calculator

Acho que isso é um problema no servidor, como faço para corrigir isso?

    
por 01.10.2009 / 12:27