Remove index.php da URL Apache 2.4

1

Eu tenho tentado remover index.php do meu aplicativo desde um dia. Eu tentei de tudo, mas não consegui removê-lo. O problema é - Eu não tenho permissão para ter o arquivo .htaccess no diretório do projeto e a configuração no arquivo .htaccess que funciona na minha máquina dev local não funciona lá.

A configuração que tenho na minha máquina local é:

<IfModule mod_rewrite.c>
    # Rules to serve URLs which point to files directly
    # ----------
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>

Estou ciente de que não posso usar a diretiva RewriteBase dentro do arquivo de configuração do host (/etc/apache2/sites-available/000-default.conf/000-default.conf). No entanto desabilitar isso não funciona.

Por que esse problema é tão difícil? Existem redirecionamentos muito mais complicados que estão funcionando perfeitamente, mas parece não haver uma solução definitiva para a remoção do index.php da URL!

EDIT: Ele está instalado em uma máquina Ubuntu 14.04.

    
por John Doe 11.06.2015 / 13:15

1 resposta

0

Se você deve evitar o uso do .htaccess, outra diretiva que você poderia tentar se você está tendo problemas com o mod_rewrite é usar a diretiva ErrorDocument como a seguinte:

ErrorDocument 404 /index.php

Se você seguir essa rota, você pode precisar ajustar um pouco o código do aplicativo - como no topo do arquivo index.php, você pode precisar configurar $ _SERVER ['PATH_INFO'] para $ _SERVER ['REQUEST_URI'] . Compare o conteúdo $ _SERVER entre o dev e a produção para ter uma ideia melhor, se isso não acontecer.

Se você puder editar o arquivo conf como observou, e se não for um problema de política / segurança usar o .htaccess, você poderá sempre habilitar o .htaccess para o site usando a diretiva AllowOverride no arquivo conf.

    
por 12.06.2015 / 01:42