.htaccess não está funcionando no Ubuntu 16.04.2 LTS

2

Eu quero usar o .htaccess para reescrever as páginas web do php. Ou de uma maneira simples "Eu não quero usar a extensão .php" para acessar qualquer página da web.

arquivo .htaccess (Ubuntu 14) que estava funcionando perfeitamente:

RewriteEngine on
#remove the need for .php extention
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

O mesmo arquivo .htaccess não está funcionando após a atualização da AWS, que agora está no Ubuntu 16.04. Eu tentei de tudo, como alterar a permissão, habilitando o modo de reescrita, alterando a propriedade de diretório do arquivo de configuração de 'AllowOverride None' para 'AllowOverride All'.

Depois de algum tipo de experiência, descobri que estou corrigindo o arquivo .htaccess acima, e ele funcionou bem. Mas aqui ele sempre permite acessar apenas a página do php. Mas eu não quero ser específico com qualquer página php. Eu tentei escrever o regexp também, mas não funcionou. E sempre redireciona para a página especificada.

<IfModule mod_rewrite.c><
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule . index.php [L]
</IfModule>

Alguém pode me ajudar nisso? Agradecemos antecipadamente.

    
por MSVKC 12.03.2017 / 17:52

2 respostas

2

Eu encontrei este exemplo que deve fazer o truque:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [QSA,L]

Fonte:

link

link

    
por George Udosen 12.03.2017 / 19:32
1

Eu estava enfrentando o mesmo problema, aqui está a solução para o ubuntu e o apache

Primeiro habilite a reescrita do módulo:

sudo a2enmod rewrite 

E reinicie o apache

sudo systemctl restart apache2

Agora edite para o nível do diretório

sudo vim /etc/apache2/sites-enabled/000-default.conf

adicione essas linhas no final

<Directory /var/www/html>
    AllowOverride All
 </Directory>

e reinicie o apache novamente.

sudo service apache2 restart
    
por BSB 22.11.2017 / 04:18