Ubuntu Server 12.04 mod_rewrite Apache httpd 2.2.22 não está funcionando

0

Estou tentando configurar um farm da Web distribuído usando o apache2. Antes de implantar a configuração nos meus outros 3 servidores, eu queria que tudo funcionasse no primeiro (designado P-WEB-01) em 10.0.2.1. Eu tenho vários sites configurados através de hosts virtuais e os diferentes nomes de domínio estão funcionando corretamente.

No entanto, meu problema é com apache_mod_rewrite, em que estou tentando configurar uma URL semelhante a esta: link e lê-lo pelo script PHP (index.php) como link . O sistema também tem que ser configurado de uma maneira em que o mod_rewrite ignore nomes e diretórios de arquivos internos, pois eles são intermediados por proxy para o site externo (por questões de segurança) através do script.

Eu tive este script em execução em um servidor IIS7 por um tempo, e funcionou perfeitamente bem. Além disso, eu segui o mod_rewrite a2enmod inteiro, que produziu sucesso. Eu habilitei o AllowOverride All no apache2.conf, e configurei o arquivo .htaccess do site no diretório raiz do site, e ele dizia:

RewriteEngine on
RewriteRule ^index.php$ index.html

que ainda não fez nada.

    
por Tim Powell 01.07.2014 / 20:38

1 resposta

1

eu usei

RewriteEngine on
RewriteBase /

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]

RewriteRule ^([\w.]+)/?$ index.php?a=$1 [L,QSA]
RewriteRule ^(\w+)/([\w.]+)/?$ index.php?a=$1&b=$2 [L,QSA]
RewriteRule ^(\w+)/(\w+)/([\w.]+)/?$ index.php?a=$1&b=$2&c=$3 [L,QSA]

Além disso, assegurei que meu firewall (baseado em IPTables) estava realmente encaminhando para o servidor web (novo) correto.

Obrigado a todos! :)

    
por Tim Powell 02.07.2014 / 20:17