.htaccess RewriteEngine em quebras CGI Application

2

Meu arquivo .htaccess está no diretório raiz do meu site e reduzi um problema para a única linha de código RewriteEngine on . Como eu sei que é esse pedaço de código? Porque eu deletei todo o arquivo .htaccess , exceto RewriteEngine on como teste ... e meu aplicativo CGI ainda quebrou.

Se alguém tem alguma idéia de por que a linha RewriteEngine on decide quebrar o aplicativo CGI sozinha, eu adoraria ouvi-la!

PS - Apenas para o caso de você estar interessado, o código que quero trabalhar é ajudar a consolidar todos os domínios em um único domínio (as quebras de linha estão lá simplesmente para facilitar a leitura):

RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.html 
RewriteRule (.*) http://www.example.com/ [R=301,L]
    
por MrWhite 21.12.2009 / 18:55

1 resposta

2

Provavelmente, o mod_rewrite não está atualmente ativado em sua configuração do Apache (geralmente no httpd. conf).

Se estiver ativado, será algo parecido com isto:

# For Unix-like OSes
LoadModule rewrite_module modules/mod_rewrite.so

ou

# For Windows
LoadModule rewrite_module modules/mod_rewrite.dll

bem como

# For both
AddModule mod_rewrite.c

A linha AddModule pode não ser necessária no Apache 2.0 / 2.2.

Alguns sistemas operacionais colocam os carregadores de módulo do Apache em outro diretório. No Debian e Ubuntu Linuxes, os arquivos de configuração dos módulos instalados estão em / etc / apache2 / modules-available, e podem ser ativados com a2enmod modulename ; neste caso a2enmod rewrite .

    
por 21.12.2009 / 19:08

Tags