Remove '.php' da url - Nothing funciona

0

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:

link

link

link

link

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?

    
por Myst 20.04.2015 / 16:24

3 respostas

1

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 DonJohnII 09.11.2015 / 03:01
0

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.

    
por Mostafa A. Hamid 20.04.2015 / 18:18
0
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

confira este Como remover php, html Extensão da URL usando o htaccess

    
por Jordan 04.11.2016 / 06:47