Ir para conteúdo

Arquivado

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

mauro26

mod_rewrite htacess

Recommended Posts

Oi precisava de uma ajuda, expressoes regulares não é o meu forte, eu quando vai criar o meu url amigavel, meto no htacess assim:

 

RewriteRule quemsomos/(.*) page.php?id=$1

 

Mas depois sou obrigado a fazer para cada link o seu proprio nome, fico com uma lista comprida, não existe nenhuma forma de poder no lugar de quemsomos meter o texto que quiser e depois usar so o id para identificar, algo como isso

 

RewriteRule ^/(.*) page.php?id=$1 não sei, assim nao necessito escrever no htacess em cada um dos links e so preciso de uma linha

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quase isso que você colocou:

RewriteRule ([a-zA-Z0-9_]+)/?$ page.php?id=$1

Com isso você pega qualquer coisa que o usuário digitar (letras de a-z e de A-Z e números de 0-9, mas não pega caracteres especiais, traços e etc.) e lança isso como se fosse "?id=o_que_voce_digitou_aqui".

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia, eu uso esse htaccess que é bem interessante...

RewriteEngine On

ErrorDocument 400 index.php
ErrorDocument 401 index.php
ErrorDocument 403 index.php
ErrorDocument 404 index.php
ErrorDocument 500 index.php


# ------------------------------------------------------------------------------------------------------- #
RewriteRule   ^([A-Za-z0-9-]+)/([A-Za-z0-9-_]+)/([A-Za-z0-9-_]+)/([0-9]+)/?$ index.php [L]
RewriteRule   ^([A-Za-z0-9-]+)/([A-Za-z0-9-_]+)/([A-Za-z0-9-_]+)/([0-9]+)/([0-9]+)/?$ index.php [L]

RewriteRule   ^([A-Za-z0-9-]+)?$ index.php [L]
RewriteRule   ^([A-Za-z0-9-]+)/?$ index.php [L]
RewriteRule   ^([A-Za-z0-9-]+)/([A-Za-z0-9-_]+)/?$ index.php [L]
RewriteRule   ^([A-Za-z0-9-]+)/([A-Za-z0-9-_]+)/([A-Za-z0-9-_]+)/?$ index.php [L]
RewriteRule   ^([A-Za-z0-9-]+)/([A-Za-z0-9-_]+)/([A-Za-z0-9-_]+)/([A-Za-z0-9-_]+)/?$ index.php [L]
RewriteRule   ^([A-Za-z0-9-]+)/([A-Za-z0-9-_]+)/([A-Za-z0-9-_]+)/([A-Za-z0-9-_]+)/([A-Za-z0-9-_]+)/?$ index.php [L]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quase isso que você colocou:

RewriteRule ([a-zA-Z0-9_]+)/?$ page.php?id=$1

Com isso você pega qualquer coisa que o usuário digitar (letras de a-z e de A-Z e números de 0-9, mas não pega caracteres especiais, traços e etc.) e lança isso como se fosse "?id=o_que_voce_digitou_aqui".

Não esta a funcionar Diego, ele não apanha o id, sem ele não consigo pegar os dados da base dados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu queria por exemplo ter a possibilidade de meter o url como:

 

www.dominio.com/qualquernome/123

 

mas nesse caso so me possibilidade meter assim:

www.dominio.com/123

 

Eu nesse caso vou ser obrigado a criar uma coluna na base dados

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alguem sabe o problema das minhas paginas, ele muda o conteudo, mas nao muda as paginas, por isso fico com a estrutura do template sempre o mesmo, qual o problema?

 

Aqui vai meu codigo:

 

RewriteRule ^([a-zA-Z0-9_-]+)$ page.php?url=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ page.php?url=$1
RewriteRule ^([a-zA-Z0-9_-]+)$ nossoproduto.php?url=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ nossoproduto.php?url=$1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Até pdoeria usar, mas esse site ta hardcoded, nao está sendo usada nenhuma framework

Não tem problema.

Você pode baixar o Slim e usá-lo só para montar as rotas e executar as ações referentes a cada uma delas

Se ainda assim não quiser usar o Slim, tudo bem, use $_SERVER['REQUEST_URI'], mas o Slim facilita bastante.

 

O importante é manter as regras dentro do PHP, não dentro do .htaccess

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Sapinn
      Resolvi atualizar meu xampp para a versão 7.4.14 e estou com um erro de Internal Server Error que fica em um projeto que estou usando htacess para fazer urls amigáveis o arquivo usados são:
      Arquivo externo:
       
      <IfModule mod_rewrite.c>
          RewriteEngine on
          RewriteRule ^$ public/ [L]
          RewriteRule (.*)public/$1 [L]
      </IfModule>
       
      Dentro da pasta public:
       
      <IfModule mod_rewrite.c>
          Options -Multiviews
          RewriteEngine On
          RewriteBase /unset_mvc/public
          RewriteCond %{REQUEST_FILENAME} !-d
          RewriteCond %{REQUEST_FILENAME} !-f
          RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
      </IfModule>
       
      Dentro da pasta app:
      Options -Indexes
       
      Preciso de ajuda porquê não sei o que fazer, já tentei apagar algumas coisas no httpd.conf dentro do xampp mas não funcionou.
    • Por lakaksej
      Criei um site no wordpress e não consigo alterar o domínio dele para apontar para o domínio novo.
       
      Já tentei pelo banco de dados, plugins, htacess e sempre dá erro. Alguém me recomenda algum método para resolver isso?
       
      Alguém pode me ajudar?
    • Por notax
      Pessoal, tudo bem?

      Me desculpem caso não seja o local certo.

      Minha dúvida é com relação ao htaccess...
       
      Se incluo um index.php na pasta WWW e digito simplesmente o www.meudominio.com.br não há a necessidade de eu colocar /index.php ao final.
      Porém estou incluindo um index.php numa pasta dentro de WWW e aí existe a necessidade de eu incluir o /index.php.
      Exemplos:
      meudominio.com.br -> funciona
      meudominio.com.br/pasta-> não funciona
      meudominio.com.br/pasta/index.php -> funciona
      Então, poderiam me dizer o que eu preciso fazer para funcionar o "meudominio.com.br/pasta"?

      Meu htaccess no momento está assim:
       
      RewriteEngine On # Redirecionar para HTTPS e remover WWW RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteCond %{HTTPS} off RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] #funcionar sem o .php RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^([^\.]+)$ $1.php [NC] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d  
    • Por Gleyson Abreu
      Bom estou tentando redirecionar o trafego do site para https mas não estou conseguindo estou tando usar:
      RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] Mas sem sucesso, alguém tem uma dica para fazer isso melhor?
    • Por Valnei Lakers
      Oi galera esse é meu primo tópico no fórum gostaria da ajuda de vocês eu tenho uma CMS que ela é adaptada para XAMPP e eu estou usando IIS, enfim, estou enfrentando dificuldades para passar o .htacess para web.config, não consigo passar RewriteRule pictures/(.*)_small.png pictures/$1.png para web.config, poderiam me ajudar?
×

Informação importante

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