• 0
Sign in to follow this  
jmlab

url amigável com slug na base de dados

Question

Boas.
Estou bloqueado na construção da url amigável.

Tenho um menu, que é carregado da base de dados, que tem um campo "slug", onde está guardada a url amigável.
Consegui encontrar um tutorial que me levou a meio da tarefa, mas fiquei no seguinte ponto:
localhost/omeusite.com/?fchild=noticias

 

Navegando pelo menu, acedo a todo o conteúdo do site, mas não sei avançar daqui, ou seja, retirar o "?fchild=".
Alguém me poderá ajudar?
Obrigado

PS: Não coloco o código, apenas porque excede em muito o razoável, mas poderei disponibilizar, obviamente.

Edited by jmlab

Share this post


Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 0

Olá!

O sr. vai precisar usar um arquivo(.htaccess) de configuração no apache/nginx com conteúdo +- assim:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1 [L]

Aí é só criar um router e definir que parte da url é a view e o slug

Edited by wash

Share this post


Link to post
Share on other sites
  • 0

Olá Wash. Obrigado pela rápida resposta :)

Já tinha criado um .htaccess com parte dessa configuração. Não tinha adicionado o rewriteRule porque não sabia como utiliza-lo, até porque o meu conhecimento não é assim tão alto.

Vou adicionar a ultima linha, mas não entendo o que me diz para fazer de seguida.
Suponho que seja para fazer no htaccess, estou correcto?

 

Obrigado

Share this post


Link to post
Share on other sites
  • 0

Com o .htaccess daquela forma, se o que estiver na url não for pasta nem arquivo, será entregue ao arquivo index.php

Você pega o que foi entregue ao arquivo index.php com a variável de servidor $_SERVER['QUERY_STRING']

O router(roteador) você deve criar para definir qual arquivo será chamado e que parte da url será o slug, você pode criá-lo em .php mesmo

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this