Verifique se seu site específico está ativado para permitir isso:
$sudo vi /etc/apache2/sites-available/000-default.conf
<Directory "/var/www/html">
AllowOverride All
</Directory>
$sudo service apache2 restart
Ubuntu 14.04LTS 32 bits
LÂMPADA
Eu sei que é uma pergunta antiga, mas ...
Eu preciso remover o .php em qualquer lugar que ele encontre no URL visível. Precisa de trabalhar com /showthread.php?id=XX --- > / showthread? id = XX
Eu nem consigo trabalhar com /page.php
- > %código%.
Eu tentei estes:
Ele simplesmente não faz nada.
Enquanto outro código /page
funciona bem ...
Enquanto
<?php
phpinfo();
Relaciona mod_rewrite em módulos carregados
e
<?php
if(!function_exists('apache_get_modules') ){ phpinfo(); exit; }
$res = 'Module Unavailable';
if(in_array('mod_rewrite',apache_get_modules()))
$res = 'Module Available';
?>
<html>
<head>
<body>
<p><?php echo apache_get_version(),"</p><p>mod_rewrite $res"; ?></p>
</body>
</html>
Retorna .htaccess
Tentei muitas outras coisas
# Apache Rewrite Rules
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
# Add trailing slash to url
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/|#(.*))$
RewriteRule ^(.*)$ $1/ [R=301,L]
# Remove .php-extension from url
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^([^\.]+)/$ $1.php
# End of Apache Rewrite Rules
</IfModule>
#
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^([^\.]+)$ $1.php [NC,L]
#
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php
Nem isso tem qualquer efeito:
RewriteRule ^page$ page.php [L]
Module Available
não altera nada.
A reinicialização do servidor não muda nada.
Eu tentei limpar outro código, não fiz nenhuma alteração.
Limpei o cache do meu navegador 100 vezes
Estou começando a pensar que isso me odeia. O que poderia estar causando isso?
Verifique se seu site específico está ativado para permitir isso:
$sudo vi /etc/apache2/sites-available/000-default.conf
<Directory "/var/www/html">
AllowOverride All
</Directory>
$sudo service apache2 restart
Por favor, use isso como seu arquivo .htaccess:
<IfModule mod_rewrite.c>
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1 [L,QSA]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s(.*)/index\.php [NC]
RewriteRule ^ %1 [R=301,L]
</IfModule>
Caso você queira qualquer nome de arquivo, você pode substituir index.php pelo seu nome de arquivo e extensão.
Se o seu diretório ainda mostrar o arquivo index.php, por favor habilite a reescrita do módulo em seu host.
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
confira este Como remover php, html Extensão da URL usando o htaccess