Arquivado
Este tópico foi arquivado e está fechado para novas respostas.
Url amigável e conteúdo duplicado
Por
Danilo CS, em Desenvolvimento frontend
Recommended Posts
-
Conteúdo Similar
-
Por RodrigoWD3
Boa tarde pessoal estou com uma dúvida, seguinte estou criando uma pagina de blog para teste de url amigável ja configurei o .htaccess , o banco de dados , as postagem com slugs , o problema e que só consigo exibir a noticia completa quando ha uma categoria exemplo .
O site exibe assim : meusite.com.br/noticias/post-da-noticia/
Queria desse jeito: meusite.com.br/post-da-noticia/
porem não queria exibir a categoria noticias, pois os posts vão esta na index
vou colocar o código da index, acredito que a configuração seja nela
INDEX.PHP
<?php include "admin/conexao.php"; require_once("include/header.php"); @$url = $_GET['url']; $urlE = explode('/',$url); @$arquivo = $urlE['0']; @$post = $urlE['1']; $paginas = array('empresa','noticias','categoria','contato'); if(isset($post) && $post != ''){ include "single.php"; }elseif(isset($arquivo) && in_array($arquivo, $paginas)){ include "$arquivo.php"; }elseif(isset($arquivo) && $arquivo == ''){ include "home.php"; }else{ include "categoria.php"; } require_once("include/footer.php"); ?>
-
Por Jack Oliveira
Bom dia @Motta Poderia me dar uma pequena ajuda aqui
estou com uma url amigavel
ela funciona usando ex: meudominio.com/cidade/nome-do-post/12/
quero que ele apenas pega o titulo no banco de dados sem precisar pegar o id
minha url é bem básica
no meu .HTACCESS
Fiz assim
DirectoryIndex index.php ErrorDocument 404 https://www.meusite.com.br/ RewriteCond %{HTTP_HOST} ^meusite\.com\.br$ [OR] RewriteCond %{HTTP_HOST} ^www\.meusite\.com\.br$ [OR] RewriteCond %{HTTP_HOST} ^meusite\.com\.br\/$ RewriteRule ^index\.html\/?(.*)$ "https\:\/\/www\.meusite\.com\.br\/$1" [R=301,L] #------------------------------------------------------------------- #------------------------------------------------------------------- # PERMISSIONANDO REESCRITA #------------------------------------------------------------------- RewriteEngine On # Turn on the rewriting engine # not rewrite css, js and images RewriteCond %{REQUEST_URI} !\.(?:css|js|jpg|gif|png)$ [NC] RewriteRule ^([0-9A-z_-]+)\/([0-9A-z_-]+)\/$ noticias.php?&nome=$1id=$2 [QSA,L,NC] #RewriteRule ^([0-9A-z_-]+)\/([0-9A-z_-]+)\/$ cidade.php?id=$1&nome$2 [QSA,L,NC] #RewriteRule ^buscar index.php [NC,L] <IfModule mod_headers.c> <FilesMatch "\.(ttf|ttc|otf|eot|woff|font.css|css)$"> Header set Access-Control-Allow-Origin "*" </FilesMatch> </IfModule> No arquivo noticias.php
quero que ele ficasse assim
meusite.com.br/cidade/noticias-do-mundo-geral/
Na função esta assim
<?php //URL DEBUG CHARACTERS function encodeSEOString($string) { $string = preg_replace("`\[.*\]`U", "", $string); $string = preg_replace('`&(amp;)?#?[a-z0-9]+;`i', '-', $string); $string = htmlentities($string, ENT_COMPAT, 'utf-8'); $string = preg_replace("`&([a-z])(acute|uml|circ|grave|ring|cedil|slash|tilde|caron|lig|quot|rsquo);`i", "\\1", $string); $string = preg_replace(array("`[^a-z0-9]`i", "`[-]+`"), "-", $string); return strtolower(trim($string, '-')); } ; ?> No html fiz assim
<a href="./<?php echo encodeSEOString($dados['titulo']); ?>/<?php echo $dados["id"]; ?>/" target="_blank"> nesta forma ai em cima ele funciona mais quando inverto para pegar apenas o titulo ele volta para a url principal
Antes tinha feito assim
<a href="./<?php echo encodeSEOString($dados['titulo']); ?>/" target="_blank">
Desde já agradeço...
-
Por RodrigoWD3
Boa tarde pessoal nao sei se estou no tópico correto , gostaria de tira uma duvida quero fazer um sistema de noticias com url amigavel em codeigniter ja fiz a parte de noticias para exibir e a view porem estou usando a id para exibir as noticias e o que eu gostaria de fazer era usar a url do titulo da noticia ficando uma url amigavel alguém teria algum tutorial para eu poder estudar obrigado
-
Por Paulo Oliveira Albuquerque
Ola bom dia galera se alguem poderia me dar uma ajuda na minha url amigavél,
Ela funciona de boa
mais tenho dois problemas que esta me dando já dor de cabeça
1º - Quando abre o link da url ex: meusite.com/produtos/23/nome-produtos se eu por algo a mais na frente desta url ela aceita e eu gostaria que que ele não aceitasse nada mais além do que foi feito o chamado se ele for apenas assim ex2: meusite.com/produtos/23/nome-produtos que nela não aceita se digitar na frente em um navegador qualquer mais coisa ex3: meusite.com/produtos/23/nome-produtos-novo-uyuy e nem aceitar se alguem digitar ou mesmo tentar fazer isso meusite.com/produtos/23/ ou isso aqui meusite.com/produtos.php?id=23
2ª Minha Url amigavél quando ela e feito o shared em uma rede social quando eu clico dentro da rede social pra abrir a pagina ela esta vindo diferente do que foi postado ele aparece assim quando eu clico para abrir
meusite.com/pasta/produtos/23/nome-produtos /><!-- ==================================================================================================================================== --> <link rel=?fbclid=Mgsgs-swwfw-dwedwedwewf-wefwefwhgygygygjhjnjnjnjnjn#.HDHDHDHDJ-messenger
e as vezes assim
meusite.com/pasta/produtos/23/nome-produtos?fbclid=Mgsgs-swwfw-dwedwedwewf-wefwefwhgygygygjhjnjnjnjnjn#.HDHDHDHDJ-messenger
era pra ele aparecer assim quando clicar
meusite.com/produtos/23/nome-produtos
No meu HTACCESS ESTA ASSIM
#------------------------------------------------------------------- # PERMISSIONANDO REESCRITA #------------------------------------------------------------------- RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.php -f #------------------------------------------------------------------- # EXTENSAO PHP #------------------------------------------------------------------- RewriteRule ^(.*)$ $1.php #------------------------------------------------------------------- # URL AMIGAVEL #------------------------------------------------------------------- RewriteRule ^produtos\/?([0-9]+)\/?(.+)\/?$ produtos.php?id=$1 RewriteRule ^sobre\/?([a-z]+)\/?(.+)\/?$ sobre.php RewriteRule ^index\/?([a-z]+)\/?(.+)\/?$ index.php RewriteRule ^contato\/?([a-z]+)\/?(.+)\/?$ contato.php RewriteRule ^buscar\/?([a-z]+)\/?(.+)\/?$ buscar.php e a minha função esta assim
<?php //URL DEBUG CHARACTERS function encodeSEOString($string) { $string = preg_replace("`\[.*\]`U", "", $string); $string = preg_replace('`&(amp;)?#?[a-z0-9]+;`i', '-', $string); $string = htmlentities($string, ENT_COMPAT, 'utf-8'); $string = preg_replace("`&([a-z])(acute|uml|circ|grave|ring|cedil|slash|tilde|caron|lig|quot|rsquo);`i", "\\1", $string); $string = preg_replace(array("`[^a-z0-9]`i", "`[-]+`"), "-", $string); return strtolower(trim($string, '-')); } ; ?> Meu link pra abrir a pagina esta assim
<a href="meusite.com/pasta/produto/<?php echo $id; ?>/<?php echo encodeSEOString($prod_nome); ?>">Listar</a> Obs: como eu disse ela abre normal sem problemas o unico problema que estou tendo foi as que eu sitei ai em cima
-
Por Paulo Oliveira Albuquerque
Ola galera boa noite
sou novo aqui e sou bem nub em php e msqli e pdo
Porem tenho uma url amigavél que funciona para mim perfeita mente sem problemas
Bom porém quero que ela seja bloqueadas algumas funções por ex: meudominio.com/pasta/produdos/128/computadores-lc
Entre este meudominio.com/pasta/produdos/128/computadores-lc quero que meu htaccess ele não deixa por nada entre o meudominio.com/pasta/produdos/128/computadores-lc-alguma-coisa
ou meudominio.com/pasta/produdos.php?id=128
quero que ele apenas reconhecer o link direncionado pela url qu seja este aqui meudominio.com/pasta/produdos/128/computadores-lc nada mais
se alguem tentar por alguma coisa fora desta url ele direciona para o index principal ou motre erro dentro da quela pagina que esta fora da url amigavel
Ou seja tudos que estiver o ex: meudominio.com/sobre.php
ele apenas gere o meudominio.com/sobre sem que ele aceite o .php ou outra outra coisa fora do que esta sendo chamo pelo htaccess ou pela url
em meus arquivos esta assim a minha url.php
<?php //URL DEBUG CHARACTERS function encodeSEOString($string) { $string = preg_replace("`\[.*\]`U", "", $string); $string = preg_replace('`&(amp;)?#?[a-z0-9]+;`i', '-', $string); $string = htmlentities($string, ENT_COMPAT, 'utf-8'); $string = preg_replace("`&([a-z])(acute|uml|circ|grave|ring|cedil|slash|tilde|caron|lig|quot|rsquo);`i", "\\1", $string); $string = preg_replace(array("`[^a-z0-9]`i", "`[-]+`"), "-", $string); return strtolower(trim($string, '-')); } ; ?> No meu htaccess esta assim
#------------------------------------------------------------------- # PERMISSIONANDO REESCRITA #------------------------------------------------------------------- RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.php -f #------------------------------------------------------------------- # EXTENSAO PHP #------------------------------------------------------------------- RewriteRule ^(.*)$ $1.php #------------------------------------------------------------------- # URL AMIGAVEL #------------------------------------------------------------------- RewriteRule ^produto\/?([0-9]+)\/?(.+)\/?$ produto.php?id=$1 RewriteRule ^sobre\/?([a-z]+)\/?(.+)\/?$ sobre.php RewriteRule ^index\/?([a-z]+)\/?(.+)\/?$ index.php Na minha url que faz a chamad para o direcionamento esta assim
<div class="hover-text lis-absolute lis-right-20 lis-bottom-20 lis-font-roboto text-white text-right"> <span class="text-white mb-0"><a href="<?php echo ConfigPainel('site_url'); ?>/produtos/<?php echo $id; ?>/<?php echo encodeSEOString($produtos); ?>" target="_blank" title="Clique para ver detalhes"><strong><font color="#fff"><?php echo $produtos; ?></a></font></strong></span></br><span class="lis-font-roboto"><a href="<?php echo ConfigPainel('site_url'); ?>/produtos/<?php echo $id; ?>/<?php echo encodeSEOString($produtos); ?>" target="_blank" title="Clique para ver detalhes"><font color="#fff" size="2"><?php echo VerificaCategoriaItem($dados['id_categoria'],'c_categoria'); ?></font></a></span></div> Espero que eu possa ter sido bem detalhado ai para que todos possam ver o que eu quero..
-