Hola.
Basados en el FAQ web modulares
¿Se puede hacer que una dirección:
index.php?id=2
se pase a un modo:
index/2
o algo más indexable? Para los motores de búsqueda.
| |||
Si .. pero la solución más trasnparente para ti (y tu programación) pasa por usar el módulo mod_rewrite por ejemplo de Apache. Ese módulo instalado en tu servidor HTTP (Apache en este caso) convierte links (previa configuración) del tipo algo.php?id=1 a una estructura más "digerible" por los robots indenxadores ... Puedes ver un artículo de nuestro compañero Nok al respecto en: http://www.zonaphp.com/index.php?mod...ion=leer&id=30 Un saludo, PD: Existe una alternativa vía codigo PHP .. pero ahora no recuerdo como o donde .. Si alguien sabe .. ya sabe (valga la rebundancia xD)
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| ||||
nadie sabe? a mí también me interesa
__________________ Plugin de AdSense para Wordpress: http://adsensei.org |
| |||
philippe .. ¿pero leistes el artículo que dejé sobre el uso de mod_rewrite? .. Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| ||||
ahora que me doy cuenta, no es exactamente lo que quería... estoy buscando un sistema de includes pero que en ves de números, se haga con palabras. Porque los números son más aplicables a artículos y no a secciones de un sitio...
__________________ Plugin de AdSense para Wordpress: http://adsensei.org |
| |||
Pues entonces que problema tienes? el "nº" o palabra sólo es el identificador que vas a usar para llamar a tu "include" .. ya sea una consulta a tu BD .. o una simple llamada al archivo que corresponda ... (ese concepto hay que tenerlo claro) Si tu haces: index.php Código PHP: Código PHP: asi de simple .. (es muy básico ..le falta validaciones y algo más pero es para que veas la técnica básica ..) Y si esa referencia lo haces a un registro de tu BD .. usa SELECT * FROM tabla WHERE nombre_seccion='$seccion' en lugar del típico ID .. Que por otro lado es más optimo ese tipo de consultas por un campo indexado (como suele ser el "ID" de un campo unico y autoincremental) que nó buscar en un campo alfanumérico (varchar) como podría ser el "nombre de la sección" (bueno, puedes indexarlo también ..) Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| |||
Hola, Cluster, hay que leer los articulos completos. El articulo de Nok en zonaphp habla de tres metodos: - El mod_rewrite. - El de forcetype y luego leyendo las variables con REQUEST_URI. - Y el de la pagina de error 404. Los 3 requieren cambiar algo de la configuracion de Apache. Saludos.
__________________ Josemi Aprendiz de mucho, maestro de poco. |
| ||||
Ya le heché un ojo, pero no le entendí mucho que digamos. Aprendí Html y vi que no era suficiente, luego css y tampoco, JavaScript y luego php, y ahora a configurar el Apache... Bueno a estudiarle un poco. Gracias. |
| |||
Ah! ok josemi .. Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| ||||
Includes simples sé (casi lo único), lo que deseo es adaptar el código de las faqs Código PHP: me explico? Gracias
__________________ Plugin de AdSense para Wordpress: http://adsensei.org |
| |||
Código PHP: Saludos. Nok.
__________________ La casa de Noktemplate. Zonaphp.com - Php en español. ¿Que esperas de NokTpl 2? Deja tu comentario. Blog Mas o menos asi . |
| |||
Y más simple: Código PHP: Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| ||||
Muchísisimas gracias!! Eternamente agradecidos a todos. Funcionó perfectamente. Gracias.
__________________ Plugin de AdSense para Wordpress: http://adsensei.org |
| ||||
Realmente la solución que ofrece Cluster es un poco riesgosa ya que representa un agujero de seguridad. Estos dias estoy por publicar un tutorial sobre como realizar Webs Modulares que estará disponible en ZonaPHP y que resuelve este y otros tipos de problemas. Saludos. |
| ||||
ok, webstudio, en unos días me doy una vuelta por ahí
__________________ Plugin de AdSense para Wordpress: http://adsensei.org |
| ||||
Y si un enlace en particular, en vez que sea include, lo quiero como un enlace normal? es decir, quiero que siga lo de ?id=nosequé, pero el enlace no sea include, supongo que debe ser simple, debe ser poniendo algo en vez de include, pero no sé qué, alguien sabe? Gracias.
__________________ Plugin de AdSense para Wordpress: http://adsensei.org |
| |||
Si te entendí bien, quieres que solo aparezca tusitio.com/pagina.php?tal=cualquierocosa, pero que no afecte en nada? osea, como 'adorno'? Si es así solo ponlo y ya, no afecta en nada, siempre y cuando la variable no exista en el script o no afecte en el funcionamiento de este. amhyd |
| ||||
Creo que no me expliqué bien, lo que quiero es que dentro del script antes publicado para colocar misito.com/index.php?sec=chistes que coloca la página asignada a 'chistes' en un include. Quiero que la dirección sea, por ejemplo misitio.com/index.php?sec=libro y que me lleve a libro.php, pero que no lo incluya. Espero haberme explicado mejor
__________________ Plugin de AdSense para Wordpress: http://adsensei.org |
| |||
Hola, Si no es un include, lo que necesitas es una redireccion. Lo puedes hacer con header() (www.php.net/header), siempre que no saques antes nada por el navegador. Algo asi: Código PHP: Eso si, tal como esta, no se le pasa ningun parametro ni GET ni POST a la URL redireccionada. Con los GET seria facil, simplemente añadirselos a $URL. Pero para los POST podrias intentar lo que comento en este otro mensaje: http://www.forosdelweb.com/s/msg159122.html . Resumiendolo seria mandar una cabecera de estado distinta a la que envia con header("Location"): Código PHP: Saludos.
__________________ Josemi Aprendiz de mucho, maestro de poco. |
| |||
Cita: Si, el código que puse tal cual lo es ..pero por eso hice el comentario pertinente:Mensaje Original por Webstudio Realmente la solución que ofrece Cluster es un poco riesgosa ya que representa un agujero de seguridad. Estos dias estoy por publicar un tutorial sobre como realizar Webs Modulares que estará disponible en ZonaPHP y que resuelve este y otros tipos de problemas. Saludos. Cita: En lugar de los swith() .. usar un array con los nombres de las páginas y verificar que el nombre de página solicitado esté en nuestro array ..El único problema es que si no existe la página a incluir .. se mandará un error PHP de no que no encuentra el archivo .. Para eso, se pueden tener los nombres de tus páginas que puedes incluir en un array y hacer un if (in_array()) antes de atacar este include() que propongo .. Un saludo, Última edición por Cluster; 20/10/2003 a las 06:26 |
| ||||
Gracias, pero la verdad es que me compliqué, debe haber una forma más sencilla que se pueda incluir dentro del mismo script anterior de los includes, ¿no? si no es así disculpen, porque me parece raro que sea tan difícil, yo no quiero enviar información de una página a otra, lo único que quiero es esto: http://www.mipagina.com/?sec=libro te lleve a http://www.mipagina.com/libro.php quiero que me lleve, simplemente, que no siga con la misma estructura... se puede? Gracias.
__________________ Plugin de AdSense para Wordpress: http://adsensei.org |
| |||
Si es sólo "redireccionar" según el valor de tu variable sec .. y siendo el nombre de la página el mismo que usas en tu sec+.php .. sería: index.php Código PHP: Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| |||
Veamos, ¿has probado con lo que puse del header("Location") (la primera que puse, con un solo header())? Porque creo que lo unico que quieres es una redireccion. Lo pruebas y miras si te sirve. Saludos. PD: Tambien puedes quitar todo el lio del array y poner simplemente: Código PHP:
__________________ Josemi Aprendiz de mucho, maestro de poco. |
| |||
jeje Josemi .. chocamos xD con la misma respuesta en el mismo minuto xDD Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| ||||
jeje, voy a probar, espero que me sirva y mucas gracias por su rapidéz en contestar
__________________ Plugin de AdSense para Wordpress: http://adsensei.org |
| ||||
que pasa? Warning: Cannot add header information - headers already sent by (output started at c:\apache\htdocs\site\index.php:8) in c:\apache\htdocs\site\index.php on line 451 que es lo que debo hacer con el código, colocarlo en alguna parte especial? porque no entiendo como sabe que si pongo ?sec=libro debe ir a libro.php debo modficar algo? Gracias.
__________________ Plugin de AdSense para Wordpress: http://adsensei.org |
| |||
Simplemente debes quitar todo el HTML y salida que envies al navegador antes del header(). Se supone que solo quieres mostrar el HTML que esta en libro.php, ¿verdad?. Y ten cuidado de no enviar nada de nada. Fijate en los espacios al final de los ficheros que incluyas. Saludos.
__________________ Josemi Aprendiz de mucho, maestro de poco. |
| ||||
funciona! pero si no pongo ?sec=tal me coloca la página como misitio.com/.php no hay alguna forma de que si detecta que no tiene ningún ?= me mande a index.php ?? otra cosa, esto es compatible con lo de los includes, es decir, se pueden usar en la misma página? Gracias nuevamente
__________________ Plugin de AdSense para Wordpress: http://adsensei.org |
| |||
Bueno, es tan sencillo como poner: Código PHP: Lo otro no entiendo muy bien. ¿Quieres que algunos parametros te haga el include y otros la redireccion? Saludos.
__________________ Josemi Aprendiz de mucho, maestro de poco. |