Foros del Web » Administración de Sistemas » Apache »

[SOLUCIONADO] url amigable para sistema de noticias

Estas en el tema de url amigable para sistema de noticias en el foro de Apache en Foros del Web. Hola compañeros tengo un sistema de noticias y estoy tratando de crear las url amigables y no logro hacerlo . mi pagina es un index.php ...
  #1 (permalink)  
Antiguo 12/06/2013, 22:58
Avatar de freddy31DA  
Fecha de Ingreso: junio-2012
Mensajes: 84
Antigüedad: 8 años, 10 meses
Puntos: 2
Busqueda url amigable para sistema de noticias

Hola compañeros tengo un sistema de noticias y estoy tratando de crear las url amigables y no logro hacerlo .
mi pagina es un index.php y abajo están las noticias al pinchar en una noticia el id se envia via get

Código PHP:
<a  href="detalle.php?id_noticia=<?php echo $id_noticia?>"
ok al pulsar en una noticia me lleva a detalle.php?id_noticia=6
no puedo crear las reglas bien para el htaccess utilizando el mod_rewrite
deberia de llevarme a detalle/4 realmente no entiendo como podría realizar que de esta url :
miweb.com/noticias/detalle.php?id_noticia=6
se convierta en amigable
hasta el momento solo e creado esto y no funciona

Código PHP:
Options +FollowSymLinks
RewriteEngine On
RewriteCond 
%{REQUEST_FILENAME} !-f
RewriteCond 
%{REQUEST_FILENAME} !-d

RewriteRule 
^detalle/(.+)$ detalle.php?id_noticia=$
gracias de antemano si alguien sabe.. me ayuda .

Última edición por freddy31DA; 12/06/2013 a las 23:00 Razón: la etiqueta no es ceo es seo
  #2 (permalink)  
Antiguo 13/06/2013, 05:47
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.485
Antigüedad: 18 años, 9 meses
Puntos: 2113
Respuesta: url amigable para sistema de noticias

Bueno, aquí el problema es que la magia no existe.

El proceso es a la inversa. Apache lee la URL amigable y la convierte, internamente, en la ruta que tiene que seguir.

Entonces lo que tienes que hacer es hacer el enlace como quieres que lo vea el usuario/cliente/navegador:

Código PHP:
Ver original
  1. <a  href="detalle/<?php echo $id_noticia; ?>">

Tu código del .htaccess parece estar correcto.

Esto poco tiene que ver con SEO, sería mas bien cosas del foro de Apache.
  #3 (permalink)  
Antiguo 13/06/2013, 05:57
Avatar de Daniel Ulczyk
Super Moderador
 
Fecha de Ingreso: febrero-2005
Ubicación: Buenos Aires
Mensajes: 9.252
Antigüedad: 16 años, 2 meses
Puntos: 2111
Respuesta: url amigable para sistema de noticias

Tema movido a Apache desde el foro de SEO
__________________
—Somos lo que hacemos repetidamente. La excelencia, entonces, no es un acto sino un hábito. (Aristóteles dixit)
  #4 (permalink)  
Antiguo 13/06/2013, 09:00
Avatar de freddy31DA  
Fecha de Ingreso: junio-2012
Mensajes: 84
Antigüedad: 8 años, 10 meses
Puntos: 2
Respuesta: url amigable para sistema de noticias

Cita:
Iniciado por pzin Ver Mensaje
Bueno, aquí el problema es que la magia no existe.

El proceso es a la inversa. Apache lee la URL amigable y la convierte, internamente, en la ruta que tiene que seguir.

Entonces lo que tienes que hacer es hacer el enlace como quieres que lo vea el usuario/cliente/navegador:

Código PHP:
Ver original
  1. <a  href="detalle/<?php echo $id_noticia; ?>">

Tu código del .htaccess parece estar correcto.

Esto poco tiene que ver con SEO, sería mas bien cosas del foro de Apache.
gracias amigo por responder al hacer lo que me dices:
Código PHP:
<a href="detalle/id_noticia=<?php echo $id_noticia?>xxxx</a>
al hacer click en una noticia me lleva a la pagina
descripcion/id_noticia=1
y si ve el contenido de la noticia pero se me desaparecen los estilos se me dasarma la web xd.
No se amigo si existe una forma de solución para que esto no suceda y que la url sea mas amigable que no me muestre el id_noticia=1
mas seguro asi descripcion/id_noticia/1 bueno
  #5 (permalink)  
Antiguo 13/06/2013, 13:55
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.485
Antigüedad: 18 años, 9 meses
Puntos: 2113
Respuesta: url amigable para sistema de noticias

Si lo que dejen de funcionar los estilos es seguramente debido a que estás usando rutas relativas en tus link a tus archivos CSS.

Usa una ruta que indique la raíz o rutas absolutas.
  #6 (permalink)  
Antiguo 14/06/2013, 16:24
Avatar de freddy31DA  
Fecha de Ingreso: junio-2012
Mensajes: 84
Antigüedad: 8 años, 10 meses
Puntos: 2
Respuesta: url amigable para sistema de noticias

Cita:
Iniciado por pzin Ver Mensaje
Si lo que dejen de funcionar los estilos es seguramente debido a que estás usando rutas relativas en tus link a tus archivos CSS.

Usa una ruta que indique la raíz o rutas absolutas.
pzin amigo lo solucione mi regla es está:
Código:
RewriteRule ^detalle/(.+)$ detalle.php?id_noticia=$1
en el php es :
Código:
<a  href="detalle/<?php echo $id_noticia; ?>/>noticia x</a>
bueno el resultado fue www.localhost/detalle/2/

luego ahora le agregue una nueva variable para ver el titulo de la noticia
Código:
 <a href="detalle/<?php echo $id_noticia; ?>/<?php echo $titulo; ?>" >noticia x</a>
Código:
El resultado es: /detalle/2/Esta%20es%20mi%20Segunda%20noticia
Necesito su apoyo quiero que se pase se vea con guiones asi por ejemplo
Código:
localhost/detalle/1/Esta-es-mi-primera-noticia
muchas gracias por estar apoyando . Aver si me echan unan mano para crear esa regla en el htaccess para que se vea con guiones
  #7 (permalink)  
Antiguo 14/06/2013, 16:37
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.485
Antigüedad: 18 años, 9 meses
Puntos: 2113
Respuesta: url amigable para sistema de noticias

Tendrás que crear una función en PHP para pasarlo al formato que quieres. Hay una función nativa en PHP, urlencode(), pero igual esta de aquí te es mejor: http://cubiq.org/the-perfect-php-clean-url-generator
  #8 (permalink)  
Antiguo 14/06/2013, 17:17
Avatar de freddy31DA  
Fecha de Ingreso: junio-2012
Mensajes: 84
Antigüedad: 8 años, 10 meses
Puntos: 2
Respuesta: url amigable para sistema de noticias

Cita:
Iniciado por pzin Ver Mensaje
Tendrás que crear una función en PHP para pasarlo al formato que quieres. Hay una función nativa en PHP, urlencode(), pero igual esta de aquí te es mejor: http://cubiq.org/the-perfect-php-clean-url-generator
Gracias por el dato en ingles : lo arregle con está función
urls_amigables :

function urls_amigables($url) {

// Tranformamos todo a minusculas

$url = strtolower($url);

//Rememplazamos caracteres especiales latinos

$find = array('á', 'é', 'í', 'ó', 'ú', 'ñ');

$repl = array('a', 'e', 'i', 'o', 'u', 'n');

$url = str_replace ($find, $repl, $url);

// Añaadimos los guiones

$find = array(' ', '&', '\r\n', '\n', '+');
$url = str_replace ($find, '-', $url);

// Eliminamos y Reemplazamos demás caracteres especiales

$find = array('/[^a-z0-9\-<>]/', '/[\-]+/', '/<[^>]*>/');

$repl = array('', '-', '');

$url = preg_replace ($find, $repl, $url);

return $url;

}

/detalle/2/segunda-noticia

Etiquetas: noticia, seo, sistema, url
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:25.