Jump to content
marceloamck

rescrever url com .htaccess

Recommended Posts

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

Share this post


Link to post
Share on other sites

Saudações Marcelo

 

Utilizo o .htaccess assim nos meus sistemas:

 

Options +FollowSymLinks
Options -Indexes
DirectoryIndex index.html index.php
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /nome_sistema/index.php/$1 [L,QSA]

 

Espero ter ajudado.

 

Cesar

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By 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();         }     }  
    • By 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. 
    • By 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?
    • By teni_nick
      Olá, estou desenvolvendo um site e nele contem uma página com o nome de index.php, eu queria fazer uma URL personalizada com Htaccess, que no caso seria index.wel, Não sei como fazer isso, ajudem-me Por Favor.
    • By Claudio Bgi
      Como consigo configurar o .htaccess para leitura de categorias ilimitadas
       
      Exemplo:
      www.meusite.com.br/categoria1/categoria2/categoria3/
       
      No banco de dados tenho um campo com essa estrutura "categoria1/categoria2/categoria3/" para identificação da categoria
       
       
      O arquivo que estou usando atualmente é 
       
      RewriteEngine on
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteCond %{REQUEST_FILENAME}\.php -f
      RewriteRule ^(.*)$ $1.php
      RewriteCond %{SERVER_PORT} 80
      RewriteRule ^(.*)$ https://www.meusite.com.br/$1 [R,L]
      RewriteRule ^([^/.]+)/?$ /categorias.php?categoria=$1 [NC]
       
      Como posso configurar para que ele reconheça a estrutura?
       
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.