.htaccess módulo de reescrita não funciona com o Apache no Windows

2

Estou tentando redirecionar solicitações para uma pasta de volta para um único arquivo, index.py em meu diretório raiz no meu servidor Apache. Até agora nada está funcionando. Aqui está o meu .htaccess:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
#RewriteCond %{HTTP_REFERER} !index\.py
RewriteRule . index.py [L]
</IfModule>

Isso ainda permite que eu alimente URLs como www.example.com/files/testfile.zip e download. Ele precisa voltar para index.py . Eu descomentei a linha mod_rewrite.co em httpd.conf . Isso está no Windows.

    
por iscariot TF 01.08.2016 / 03:42

1 resposta

1

This is still letting me feed it URLs like www.example.com/files/testfile.zip and download.

As diretivas que você publicou explicitamente excluem URLs que mapeiam arquivos existentes no sistema de arquivos. Então, sim, você teria permissão para acessar /files/testfile.zip (um arquivo físico) e baixá-lo. (Especificamente, o RewriteRule será aplicado apenas a arquivos inexistentes).

No entanto, existem outros problemas com as diretivas que você postou, o que sugere que isso não está funcionando corretamente ... onde está localizado o arquivo .htaccess?

Se esse arquivo .htaccess estiver na raiz do documento, ele corresponderá a todas as solicitações , não apenas às solicitações de arquivos no subdiretório.

Se o arquivo .htaccess estiver no subdiretório, as reescritas bem-sucedidas serão reescritas em index.py nesse subdiretório, não na raiz do documento.

Para reescrever internamente todas solicitações em um subdiretório específico para index.py na raiz do documento, tente o seguinte no arquivo .htaccess nesse subdiretório:

RewriteEngine On
RewriteRule ^ /index.py [L]

UPDATE: você precisará habilitar os arquivos .htaccess, se eles já não estiverem habilitados ... AllowOverride All deve ir na configuração do seu servidor ( All pode ser substituído por FileInfo mais tarde, se você não precisar de tudo ). Options +FollowSymLinks deve ir em uma seção <Directory> na configuração do seu servidor ou no próprio arquivo .htaccess.

    
por 01.08.2016 / 10:35