2011-08-17 14 views
6

Tengo un sitio creado con Codeigniter donde hay muchas páginas y directorios.¿Cómo puedo mantener la misma URL en la barra de direcciones para cada página?

Digamos que el nombre del sitio es www.example.com (esta es la página de índice). Si el usuario va a otra página, por ejemplo, al hacer clic en el enlace "Acerca de", ¿cómo puedo hacer que el nombre del sitio no cambie en la barra de direcciones de todas las páginas?

+2

AJAX. JavaScript es la única forma de cambiar el contenido de la página sin cambiar el URI de solicitud. –

+0

O iframes poco llamativos. – sdleihssirhc

+0

U puede cambiar la configuración de rutas con el uso de caracteres comodín en routes.php – lampdev

Respuesta

2

Eso es mala idea si no es por nada más que porque impide a los usuarios marcar su sitio.

Sin embargo, hay dos maneras de hacerlo, si está decidido en esta dirección (y realmente sugiero que retroceda ahora antes de que sea demasiado tarde). Puede cargar todo en un iframe:

<!-- your site might look like this then --> 
<html> 
    <body><iframe src="http://path.to.your.real.site" /> 
</html> 

y la propiedad src estaría dirigiendo a alguna otra URL que en realidad tiene toda la URL dinámica de.

Su otra opción es AJAX. Sin embargo, eso es realmente demasiado largo y complicado para un ejemplo.

+0

sin JS o AJAX ¿hay algún código en php para hacer esta tarea? –

+0

@ maulik.patel Solo si haces que cada enlace en tu sitio sea un envío POST (posible, pero querrás confirmar seppuku) – cwallenpoole

+0

@ maulik.patel ¿hay alguna razón para evitar JavaScript? Su apoyo es casi universal. A menos que esté tratando de desarrollar algo para un grupo extremadamente pequeño de personas que han apagado JavaScript y no usan la mayoría de la web, entonces no lo evite. –

0
No

seguro de CodeIgniter bu se puede hacer esto en php llanura de la siguiente manera:

  1. Su url siempre se asigna a una sola función php "fachada" (tal vez incluso "index.php").
  2. En la navegación de su página siempre "POST" de un formulario. Nunca use "href ="
  3. En los formularios, tiene un par de campos ocultos que registran las páginas actual y solicitada.
  4. Cuando se ejecuta su "fachada" de php, examine los campos de formulario "actual" y "solicitado" y llame al código apropiado para representar la página "solicitada".

Como alternativa, puede utilizar "cookies" en lugar de campos de formulario ocultos y algunos javascript simples para establecer el valor de la cookie "solicitada".

0

Uso cuadro o utilizar Ajax

<FRAMESET ROWS="100%,*" BORDER=0 FRAMEBORDER=0 FRAMESPACING=0> 
    <FRAME NAME="top" SRC="/Login .aspx or .php" NORESIZE> 
</FRAMESET> 
Cuestiones relacionadas