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.
Estou começando com o Zend Framework e no site deles existe:
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 ...
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
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.
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.
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.
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?