Foros del Web » Programando para Internet » Jquery »

on() de jquery + .htaccess+urls amigables...

Estas en el tema de on() de jquery + .htaccess+urls amigables... en el foro de Jquery en Foros del Web. Hola, buenas tardes a todos/as... Vereis.. tengo un problemilla... Tengo una página, dividida en divs.. y que carga los contenidos desde un menú fijo.. lo ...
  #1 (permalink)  
Antiguo 16/09/2012, 10:33
 
Fecha de Ingreso: junio-2012
Mensajes: 16
Antigüedad: 12 años, 5 meses
Puntos: 0
on() de jquery + .htaccess+urls amigables...

Hola, buenas tardes a todos/as...

Vereis.. tengo un problemilla...

Tengo una página, dividida en divs.. y que carga los contenidos desde un menú fijo.. lo hago gracias a:
Código:
$(document).ready(function(){ 
	$("#nav li").each(function(event){  
			$(this).on('click','ul a',function(event){
				event.preventDefault();
				var href = $(this).attr("href");      
				$("#centro").load(href);     
				return false;   
				});
			});
	});

y en el menú:

Código:
 <ul id="nav"><br />
	  <li><a href="html/vista.html">Vista</a></li>
etc
etc

me carga genial y los jquery de la página cargada funcionan genial

mi problema:

si alguien intenta entrar directamente desde la barra de direcciones con:

www.misitio.com/vista.html (que es la dirección que se ve cuando pones el cursor encima) pues te sale no encontrada si está el otro directorio o te sale la página vista.html directamente (si está en ese directorio) si cargarse en el div que deberia.

Entoncessss.....

Hay alguna forma de hacer que si alguien entra directamente con www.misitio.com/vista.html.. se muestre esa página cargada en el div que le corresponde? como si se hubiese entrado desde el index..

he leido un montón sobre .htaccess y como redireccionar... pero.. es que no me sale en la barra de direcciones que tipo de dirección, que estructura lleva ese script y no se como ponerlo en el .htaccess...

alguien sabe hacerlo?

gracias..
  #2 (permalink)  
Antiguo 16/09/2012, 18:01
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Respuesta: on() de jquery + .htaccess+urls amigables...

Hola:

Creo que estás enviciándote con las librerías... aunque pueda hacerse, en mi opinión es una mala práctica.
¿Que hay de malo en usar diferentes páginas?... si cargas contenidos completos, no es más fácil enlazar normalmente... además, dejas de depender de tener javascript activado... te recomiendo que leas sobre accesibilidad.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 17/09/2012, 11:22
 
Fecha de Ingreso: junio-2012
Mensajes: 16
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: on() de jquery + .htaccess+urls amigables...

Cita:
Iniciado por caricatos Ver Mensaje
Hola:

Creo que estás enviciándote con las librerías... aunque pueda hacerse, en mi opinión es una mala práctica.
¿Que hay de malo en usar diferentes páginas?... si cargas contenidos completos, no es más fácil enlazar normalmente... además, dejas de depender de tener javascript activado... te recomiendo que leas sobre accesibilidad.

Saludos
Hola.. primero gracias por responder...

Bueno.. es tu opinión, y aunque como toda es respetable, no la comparto..
Tenemos a nuestro alcance verdaderos cerebritos que comparten con nosotros sus conocimientos y nos los ponen al alcance de la mano, y como google dice bla bla... todos bableamos no?.. bueno, google tambien dice que las páginas son para los usuarios... y yo, como usuaria, prefiero ver una página que es original.. no una plantilla.. también dice que el contenido es el rey... y un porcentaje bastante alto son páginas que copian contenido de otras...

Si yo como usuaria busco una cosa determinada... originalidad y contenido al mismo tiempo... permitame que quiera hacer lo mismo.. si alguién tiene desactivado el javascript.. encontrará lo que le permita encontrar, si esa persona no quiere tener todo el potencial (tanto estetico como de contenido) que puede ofrecer internet, es cosa suya...

He de decir.. que todas mis páginas tienen sus cabeceras y demas.. y además, la dirección que genera el jquery es amigable para los buscadores (lo comprobé antes de implementarlo), el problema me surge cuando entran desde fuera del index..antes me salia la dirección en la barra de direcciones.. pero ahora no se porque no lo hace..
  #4 (permalink)  
Antiguo 17/09/2012, 16:19
Avatar de Naahuel  
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 8 meses
Puntos: 192
Respuesta: on() de jquery + .htaccess+urls amigables...

No creo que se amigable con buscadores... estás cargando contenido con JavaScript. Los buscadores no ejecutan javascript. Lo que el buscador encontrará es tu HTML con enlaces a páginas que (según tu primer post) no existen.

Comparto el comentario de caricatos. El no dijo que se puede ser original, simplemente que es preferible hacer las cosas de manera correcta.

Si quieres usar AJAX, está perfecto.

Así es como yo lo haría:

Primero haría el sitio funcional, sin AJAX. Es decir, si hago click en un enlace, este me redireccione de forma tradicional.

El HTML deberá estar plantillado de forma tal que yo pueda obtener trozos de otro lado. Es decir, que en esencia todos deberían cumplir ciertas reglas para tener un buen funcionamiento (por ejemplo, que todo el contenido que solicite por AJAX esté dentro de un div con id "contenido").

Una vez que el sitio funcione correctamente, aplicaría AJAX. Obteniendo todo el documento y filtrando sólo lo que necesito. También habría que realizar acciones como actualizar el título de la página y el hash del URL.

Ejemplo:
http://nahueljose.com.ar/ejemplos/ajax-test/index.php (sin AJAX)
http://nahueljose.com.ar/ejemplos/aj...index.php?ajax (exactamente la misma página, con AJAX)

fuente: http://nahueljose.com.ar/ejemplos/aj.../ajax-test.zip
__________________
nahueljose.com.ar
  #5 (permalink)  
Antiguo 17/09/2012, 17:26
 
Fecha de Ingreso: junio-2012
Mensajes: 16
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: on() de jquery + .htaccess+urls amigables...

hola , antes de nada, gracias por contestar..
Primero decir q no quiero abrir un debate sobre la forma de hacer webs, vuelvo a repetir q cada uno tiene sus opiniones..y todas respetables..incluso las mias..

segundo... si son amigables... si no conoces el script, es mejor no opinar..
tercero.. si vuelves a leer nuevamente lo q puse.. y te fijas un poco en el codigo.. las paginas si q existen..
cuarto..no quiero recargar partes de pagina.. quiero cargar paginas completas q tienen sus cabeceras completas..

soy de las personas q creen q hay multiples formas de hacer las cosas correctamente..y mas en internet... dime si tengo un codigo mal q me equivoco.. pero no me digas q una opcion es hacer mal las cosas solo porque no la compartas.. o porque no sepas hacerlo..

una vez mas como usuaria de internet.. quiero visitar paginas agradables y originales.. y sobre todo con contenido original.. no me gustan las plantillas (aunque depende para q las usaria sin dudarlo)..y no me gusta encontrarme con clones de paginas en diseño y contenido..

gracias a todos por leer el mensaje y las contestaciones... pero pido por favor q si sabeis algo de lo q se pregunta o no entendeis lo q quiero decir, escribais ( si quereis claro) ... pero si lo q quereis es ponerme q hago mal las cosas porque no os gusta ... no pongais nada por favor.. creo q he dejado claro mis gustos.. y mis gustos no es hacer mal las cosas..sino querer algo diferente..
  #6 (permalink)  
Antiguo 17/09/2012, 17:52
Avatar de Naahuel  
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 8 meses
Puntos: 192
Respuesta: on() de jquery + .htaccess+urls amigables...

Está bien, te comprendo. Aún así, estoy en desacuerdo con la mayor parte de lo que dices. Más todavía por tu actitud "pasivo-agresiva"
Cita:
Iniciado por nvarona Ver Mensaje
segundo... si son amigables... si no conoces el script, es mejor no opinar..
tercero.. si vuelves a leer nuevamente lo q puse.. y te fijas un poco en el codigo.. las paginas si q existen..
Más aún, no creo que se trate de opiniones. No en una cuestión técnica, claro. Sí hay formas de hacer las cosas correctamente. Por algo existen los estándares y las buenas prácticas.

Volviendo al tema del hilo. Según veo en el código que has puesto, tus páginas están en una carpeta llamada html. Si un usuario accede así: http://tupagina.com/vista.html deberías redirigir a http://tupagina.com/html/vista.html. ¿Es así? Eso podrías lograrlo con htaccess:

Código Apache:
Ver original
  1. RewriteEngine On
  2. RewriteBase /
  3. RewriteRule ^((?!html/).*)$ html/$1 [NC,L]

Así, podrías aceder a http://tupagina.com/html/vista.html desde http://tupagina.com/vista.html

Probablemente deberías también agregar un redirect de tipo 301 al directorio html para evitar contenido duplicado. O sea, que al entrar a http://tupagina.com/html/vista.html te redirija (con 301) a http://tupagina.com/vista.html.


Una forma más común es usar el hash en el URL. Esto tiene múltiples ventajas (y es usado por sitios como Twitter, Google+, etc) como ser velocidad, accesibilidad y comodidad ya que permiten al usuario usar los botones de atrás y adelante del navegador, así como mantener un historial.
Además de esto, permite el uso de linkeo por URL. Es decir, si yo navego tu sitio y encuentro algo interesante, no podría pasar un URL pues la navegación fue por AJAX. Pero sí podría usando el hash del url. ( plugin útil para ese propósito http://benalman.com/projects/jquery-bbq-plugin/ )
__________________
nahueljose.com.ar
  #7 (permalink)  
Antiguo 17/09/2012, 18:37
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Respuesta: on() de jquery + .htaccess+urls amigables...

Hola:

Cita:
Iniciado por nvarona Ver Mensaje
...no quiero recargar partes de pagina.. quiero cargar paginas completas q tienen sus cabeceras completas...
<copy&paste>... si cargas contenidos completos, no es más fácil enlazar normalmente...</copy&paste>

Cita:
Iniciado por nvarona Ver Mensaje
... y mis gustos no es hacer mal las cosas..sino querer algo diferente..
Hace unos años algo diferente era que el cursor sea una mariposa o un gato persiguiendo un ratón... terminan aburriendo...

Evidentemente no te dejarás convencer, y no creo conveniente perder el tiempo intentar convencerte de algo a lo que haces oidos sordos... Lo que quieres hacer es fácil, pero no puedo ayudarte por que usas librerías y yo no... con un parámetro adicional en las llamadas Ajax puedes conseguir que las respuestas sean distintas.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #8 (permalink)  
Antiguo 17/09/2012, 18:45
 
Fecha de Ingreso: junio-2012
Mensajes: 16
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: on() de jquery + .htaccess+urls amigables...

ostras.. si yo soy pasiva agresiva.. tu q has sido??? jeje.. (por cierto, soy muy ironica y con humor negro... ) ..en algo seguimos pensando diferente.. la cuestion tecnica es el codigo, y ahi,si q te acepto q me digas q esta mal..pero q yo quiera utilizar jquery en vez de otra cosa..es una opcion y no puedes decir lo q has dicho, bueno, esta claro q lo puedes decir..pero tambien entonces te pueden contestar..

y despues de q ha quedado bien claro q tenemos alguna idea diferente.. y q si nos soltamos los deditos sobre el teclado podemos acabar mandandonos virus y todo... decirte:

gracias por tu respuesta.. no es exactamente lo q ando buscando..o quiza si...(mañana cuando lo pruebe podre decir hasta donde ha dado resultado).. pero ...me intento explicar..

cuando yo puse el script para cargar las paginas..en la barra de direcciones me salia la direccion exacta, q por cierto llevaba el # ..pero ya no sale..sale directamente misitio.com/vista.html ..y no consigo saber cual era para tratarla en el .haccess.. y q esa pagina vista.html.. salga como debe, q es en el div #centro de la pagina index.html

espero q se entienda mejor ahora lo q me sucede..

paz y amor buen hombre ♡♡♡♡♡ de verdad te agradezco la respuesta
  #9 (permalink)  
Antiguo 17/09/2012, 18:55
 
Fecha de Ingreso: junio-2012
Mensajes: 16
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: on() de jquery + .htaccess+urls amigables...

Cita:
Iniciado por Naahuel Ver Mensaje
Está bien, te comprendo. Aún así, estoy en desacuerdo con la mayor parte de lo que dices. Más todavía por tu actitud "pasivo-agresiva"


Más aún, no creo que se trate de opiniones. No en una cuestión técnica, claro. Sí hay formas de hacer las cosas correctamente. Por algo existen los estándares y las buenas prácticas.

Volviendo al tema del hilo. Según veo en el código que has puesto, tus páginas están en una carpeta llamada html. Si un usuario accede así: [url]http://tupagina.com/vista.html[/url] deberías redirigir a [url]http://tupagina.com/html/vista.html[/url]. ¿Es así? Eso podrías lograrlo con htaccess:

Código Apache:
Ver original
  1. RewriteEngine On
  2. RewriteBase /
  3. RewriteRule ^((?!html/).*)$ html/$1 [NC,L]

Así, podrías aceder a [url]http://tupagina.com/html/vista.html[/url] desde [url]http://tupagina.com/vista.html[/url]

Probablemente deberías también agregar un redirect de tipo 301 al directorio html para evitar contenido duplicado. O sea, que al entrar a [url]http://tupagina.com/html/vista.html[/url] te redirija (con 301) a [url]http://tupagina.com/vista.html[/url].


Una forma más común es usar el hash en el URL. Esto tiene múltiples ventajas (y es usado por sitios como Twitter, Google+, etc) como ser velocidad, accesibilidad y comodidad ya que permiten al usuario usar los botones de atrás y adelante del navegador, así como mantener un historial.
Además de esto, permite el uso de linkeo por URL. Es decir, si yo navego tu sitio y encuentro algo interesante, no podría pasar un URL pues la navegación fue por AJAX. Pero sí podría usando el hash del url. ( plugin útil para ese propósito [url]http://benalman.com/projects/jquery-bbq-plugin/[/url] )

Etiquetas: funcion, html
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 14:15.