Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

nikaway

Código .htaccess não está funcionando para ocultar extensões de página

Recommended Posts

Pessoal... desde que eu migrei de uma hospedagem compartilhada, para os servidores da DigitalOcean, estou tendo vários problemas para ajustar, reconfigurar tudo!

Até o meu .htaccess que funcionava tudo perfeitamente não tá funcionando o código que oculta as extensões das páginas: .html e .php!

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html

Nesse caso acima, esse código deveria ocultar o ".html" das páginas, mas não está fazendo isso...

Eu tenho que colocar a extensão no final, se eu não colocar a extensão, dá erro 404 de página não encontrada! O que eu faço?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tambem estou usando esse e esta funcionando perfeitamente. Claro que se voce por acaso colocar .html no final ele vai aparecer e nos links tbm

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1\.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por JoaoPauloMateus
      Olá pessoal. 
       
       
       
      Preciso redirecionar o site https://exemplo1.com.br para  uma api http://111.111.111.111:1000
       
      Mas quero que continue aparecendo a url https://exemplo1.com.br depois de redirecionar.
       
       
       
      Tem alguma forma de fazer isso pelo arquivo .htaccess?
       
       
      Desde já agradeço :)
    • Por goio
      Pessoal, estou com dificuldades com essa URL amigável, oque pretendo é o seguinte:
          No array $pages são as páginas permitidas, contato.php e teste.php
          Até ai tudo bem chama as páginas certas, se não existir os arquivos mostra a mensagem que a página não existe.
               http://localhost/contato
          Agora estou com dificuldades de fazer essa verificação pelo banco de dados, se baseando pelo slug da minha tabela
              http://localhost/produtos/tenis-azul
              Apenas exibe a mensagem de que a página não existe.
       
      Como poderia resolver esse problema? se precisar posto a class CRUD

          
      <?php class URL extends CRUD     {         private $selectTable;         private $listResult;         private function setURL()         {             $pages = array ( "fazer-pedido", "contato", "page-teste" );             $categorias = array ( "sapato", "tenis" );             if ( isset ( $_GET['url'] ) ) :                 $url = addslashes ( $_GET['url'] );                 $sepURL = explode ( "/", $url );             endif;             if ( isset( $sepURL[1] ) ) :                 $this->selectTable = $this->selectTable( "COUNT(slug) AS slug", "tabela", "LIMIT 1", array () );                 $count = $this->selectTable->rowCount();                 foreach ( $this->selectTable as $this->listResult ) :                                          if ( $sepURL[1] === $this->listResult['slug'] ) :                         require DIR_FILES."slug".EXT;                     else :                         echo "Essa página não existe, Verificação: ".$sepURL[1];                     endif;                 endforeach;             elseif ( isset( $sepURL[0] ) && in_array ( $sepURL[0], $pages ) ) :                 if ( file_exists ( DIR_FILES.$sepURL[0].EXT ) ) :                     require DIR_FILES.$sepURL[0].EXT;                 else :                     echo "Essa página não existe";                 endif;             elseif ( isset( $sepURL[0] ) && in_array ( $sepURL[0], $categorias ) ) :                 require DIR_FILES."categorias".EXT;             else :                 require DIR_FILES."home".EXT;             endif;         }         public function getURL()         {             return $this->setURL();         }     }  
    • Por marceloamck
      Olá pessoal, sou novo por aqui, aguem pode me ajudar?
      preciso usar a url http://meusite.com.br/sistema/requisicao
      mais internamente precisa ser http://meusite.com.br/controllers/requisicao.php
    • Por Carcleo
      A ideia:
       
      toda e entrada no site, seja com link direto do tipo:
       
      www.site.com.br/pasta1/pasta2/arquivo.php  
      ou normal url amigável
       
      www.site.com.br/categoria/tipo  
      tudo queria que redirecionasse para o index.php da raiz do site.
       
      E que, caso o arquivo ou pasta NÃO existisse, abrisse normalmente a pagina 404.php
       
       
      Tentei de tres formas mas nenhuma dá certo.
       
      Primeira forma
      RewriteEngine On ErrorDocument 400 http://www.sortecard.com.br/index.php ErrorDocument 401 http://www.sortecard.com.br/401.php ErrorDocument 403 http://www.sortecard.com.br/403.php ErrorDocument 404 http://www.sortecard.com.br/404.php ErrorDocument 500 http://www.sortecard.com.br/500.php php_value allow_url_fopen on php_value allow_url_include on php_flag mail_filter 0 RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteCond %{HTTPS} off RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] RewriteCond %{SCRIPT_FILENAME} !-f RewriteCond %{SCRIPT_FILENAME} !-d RewriteRule ^(.*)$ index.php?page=$1 Segunda forma:
      Options +FollowSymLinks DirectorySlash On RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f [OR] RewriteCond %{REQUEST_FILENAME} \.php$ RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?request=$1 [L] Terceira forma:
      RewriteEngine On ErrorDocument 400 http://www.sortecard.com.br/index.php ErrorDocument 401 http://www.sortecard.com.br/401.php ErrorDocument 403 http://www.sortecard.com.br/403.php ErrorDocument 404 http://www.sortecard.com.br/404.php ErrorDocument 500 http://www.sortecard.com.br/500.php php_value allow_url_fopen on php_value allow_url_include on php_flag mail_filter 0 RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteCond %{HTTPS} off RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] RewriteRule ^(.*)$ index.php?page=$1 Problemas:
       
      A) Quando acesso a url diretamente não está redirecionando para o index.
      B) Quando falo que é para redirecionar todos os arquivos ele não me dá os parêmetros. 
    • Por Kelvin Antunes
      Prezados, bom dia!
       
      estou começando a programar agora em PHP e estou com dificuldade na configuração do .htaccess. Estou utilizando a versão 5.6 do php e configurei o .htaccess da seguinte forma, porém quando faço desta forma não consigo acessar as páginas php da raiz exemplo meusite.com.br/pagina.php, mas as páginas que estão em outro diretório eu consigo acessar normalmente, exemplo meusite.com.br/pastaqualquer/pagina.php.
       
      meu script | AddOutputFilterByType DEFLATE text/plain
                          | AddOutputFilterByType DEFLATE text/xml
                          | AddOutputFilterByType DEFLATE application/xhtml+xml
                          | AddOutputFilterByType DEFLATE text/css
                          | AddOutputFilterByType DEFLATE application/xml
                          | AddOutputFilterByType DEFLATE image/svg+xml
                          | AddOutputFilterByType DEFLATE application/rss+xml
                          | AddOutputFilterByType DEFLATE application/atom_xml
                          | AddOutputFilterByType DEFLATE application/x-javascript
                          | AddOutputFilterByType DEFLATE application/javascript
                          | AddOutputFilterByType DEFLATE application/x-httpd-php
                          | AddOutputFilterByType DEFLATE application/x-httpd-fastphp
                          | AddOutputFilterByType DEFLATE application/x-httpd-eruby
                          | AddOutputFilterByType DEFLATE text/html
                          | AddHandler php56-script .php
                          | suPHP_ConfigPath /home/loginFTP/
       
      Poderiam me ajudar?
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.