Apache RewriteRule não funciona para suprimir as extensões, para outras coisas, funciona

1

Eu tenho um EC2 na AWS. Configurado o servidor (Apache 2, PHP 7.0, ...), habilitado mod_rewrite. Eu fiz esse processo muitas vezes antes, mas nunca no Ubuntu 16.04.

Afinal, testando meu servidor, observei:

  • RewriteRules funciona, mas não se alterar o URL ou as extensões.

Exemplo:

Isso NÃO FUNCIONA:

<IfModule mod_rewrite.c>
    SetEnv HTTP_MOD_REWRITE On
    AcceptPathInfo On
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d

        RewriteRule ^dieta/([\w-]+)?/?([\w-]+)?/?$ dieta.php?usuario_id=$1&dieta_id=$2 [L,QSA]
        RewriteRule ^diario/([\w-]+)?/?([\w-]+)?/?$ diario.php?usuario_id=$1&data_registro=$2 [L,QSA]
        RewriteRule ^diario-fisico/([\w-]+)?/?([\w-]+)?/?$ diario-fisico.php?usuario_id=$1&data=$2 [L,QSA]
        RewriteRule ^treino/([\w-]+)?/?([\w-]+)?/?$ treino.php?usuario_id=$1&treino_id=$2 [L,QSA]

</IfModule>
<IfModule mod_deflate.c>
        AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css         application/x-javascri$
</IfModule>

Neste exemplo:

www.link.com/dieta/50/20 < - Como deve ser, não funciona.

www.link.com/dieta.php/50/20 < - Obras.

Isso é TRABALHANDO :

AddDefaultCharset utf-8
Options +FollowSymLinks
<IfModule mod_rewrite.c>
    SetEnv HTTP_MOD_REWRITE On
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule ^([\w-]+)?/?([\w-]+)?/?$ index.php?class=$1&action=$2 [L,QSA]
</IfModule>
<IfModule mod_deflate.c>
        AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css         application/x-javascri$
</IfModule>

www.link.com/index.php/user/get < - Works.

Casos:

  • Wordpress permalinks, não funciona (ERROR 404).
  • Suprimir extensões, não funciona (ERROR 404).
  • Use com variáveis get, funciona.

Eu configurei o seguinte:

link

link

    
por Samuel Fajreldines 05.10.2016 / 19:45

0 respostas