Pregunta

Tengo un problema con la barra de direcciones (en el navegador). La url de la página principal de mi página web es similar al siguiente: http://localhost/Website/index.php

Si escribo .../Website/home.php se carga la página de la home.php. Creo que no es seguro si alguien puede ir a cualquiera de la página web que quieren saber si su dirección. Quiero bloquear la redirección automática de URL en la barra de direcciones. Por favor, alguien me ayuda a hacer de manera que si alguien escriba la dirección de .../home.php que redirige el navegador a index.php como la página por defecto.

No hay solución correcta

Otros consejos

Todo el concepto de la world wide web es que cada recurso (por ejemplo, cada página web) tiene un identificador de recurso único (dirección). Es una parte integral de cómo funciona Internet y usted debe conformarse a ella, en lugar de evitarlo.

Asegúrate de que tienes un buen enlace de vuelta grande a su página principal y la gente va a usar si aterrizan en una página diferente y no puede encontrar lo que quieren.

Espero que esto ayude.

En pocas palabras: no se puede hacer eso. Como han mencionado otros, PHP es un lenguaje del lado del servidor que significa que no puede controlar el navegador (es decir, la prevención de alguien que cambie la dirección URL). Lea y siga los enlaces en ¿Cómo funciona el trabajo de PHP? para obtener el saber la diferencia entre el lado del servidor y lenguajes del lado del cliente.

Los artículos Wikipeda World Wide Web , Localizador Uniforme de recursos (URL) y servidor web también podría ser interesante para que usted obtenga un conocimiento básico de cómo funciona la WWW y de qué se trata las direcciones URL.

Pero se puede controlar qué archivos se puede acceder. Hay dos maneras:

servidor Web de configuración

La mayoría (todos?) Servidor web le permite configurar reglas para controlar qué archivos deben ser accesibles (también conocido como control de acceso). Su es un ejemplo de cómo hacerlo con el Apache servidor web .

PHP: Front Controller

También puede hacer esto con PHP directamente (y un poco de configuración del servidor web). La magia de su palabra clave es la patrón Front Controller . Esto es, por ejemplo, una clase que actúa como un único punto de entrada a la aplicación. Esto significa que cada solicitud por ejemplo a

 http://localhost/Website/home.php

o

http://localhost/Website/foo/bar.php

es redireccionado (reenviado, como quiera que sea) a y procesada por

 http://localhost/Website/index.php

Así que al final se puede y tiene que decidir qué contenido que el usuario llegue a ver si se intenta acceder a una URL determinada.
Esto le da más control sobre el (aspecto de) las direcciones URL, pero hay que poner más esfuerzo en él para configurarlo.

Si está interesado en cómo funciona este, puedo sugerir a echar un vistazo a la Zend Framework, que implementos este patrón.

Pregunta abierta ...

A pesar de que puede ello, la cuestión es si tiene que hacerlo. Si no desea que sea accesible home.php, ¿por qué lo pones en su servidor web en el primer lugar?

O tal vez usted tiene una imagen equivocada de la estructura de un sitio web en su cabeza. A solo sitio web consiste en múltiples páginas (la mayoría de las veces), por ejemplo.

index.php   // is the main page
about.php   // is about the site or you
news.php    // contains the latest news you provide
archive.php // older news or articles
...

Se siquiera quería que un usuario / visitante puede acceder a estas páginas directamente introduciendo la URL en la barra de direcciones o mediante un marcador. Así es como un sitio web o las obras WWW.

PHP no puede hacer eso; se trata de una tecnología del lado del servidor y por lo tanto no puede modificar el comportamiento del navegador. Simplemente no poner cualquier otro archivo en el directorio y el navegador informa al usuario de que no existe tal archivo cuando intentan navegar hacia él.

Se puede obtener este resultado aún sin marcos. Si utiliza JavaScript y Ajax para cargar dinámicamente el contenido de su URL no va a cambiar.

Aunque nunca se lo recomiendo a causa googles esta sería la forma más bonita de hacerlo y todavía funcionan bien con PHP

Me gustaría tener consejos Sohnee, pero si realmente quiere que pudiera crear la ilusión mediante el uso de marcos HTML.

Estoy de acuerdo con las respuestas publicadas recientemente.

Pero si no es necesario HTML se puede entrar en FLASH o Java Applet, una vez que se cargan los, sus URLs ya no cambia.

Lo extraño querer hacer sino un sencilla forma (y no sirve para nada, pero los sitios pequeños) es el uso de Cabecera (Lugar: xxxx).

scroll top