Domanda

Ho un problema con la barra degli indirizzi (nel browser). La homepage URL del mio sito web assomiglia a questo: http://localhost/Website/index.php

Se scrivo .../Website/home.php che carica la pagina del home.php. Penso che non è sicuro se qualcuno può andare in qualsiasi della pagina web che vogliono se conoscere il suo indirizzo. Voglio bloccare il reindirizzamento URL automatica nella barra degli indirizzi. Si prega chiunque aiutarmi a fare in modo che se qualcuno scrivere l'indirizzo .../home.php che reindirizza il browser a index.php come pagina predefinita.

Nessuna soluzione corretta

Altri suggerimenti

L'intero concetto di world wide web è che ogni risorsa (ad esempio ogni pagina web) ha un identificatore di risorsa univoco (indirizzo). Si tratta di una parte integrante di come funziona Internet e si dovrebbe conformarsi ad esso, piuttosto che evitarlo.

Assicurarsi di avere una bella grande link alla tua home page e la gente lo userà se atterrano su una pagina diversa e non può trovare ciò che vogliono.

Spero che questo aiuta.

In breve: non si può fare questo. Come altri hanno detto, PHP è un linguaggio lato server che significa che non può controllare il browser (cioè impedendo a qualcuno di modificare l'URL). Leggere e seguire i link a Come funziona PHP? per ottenere il conoscere la differenza tra lato server e linguaggi lato client.

Gli articoli Wikipeda World Wide Web , Uniform Resource Locator (URL) e Web Server potrebbe anche essere interessante per voi per ottenere una comprensione di base di come funziona il WWW e di cosa si tratta gli URL.

Ma è possibile controllare quali file sono accessibili. Ci sono due modi:

configurazione del server Web

La maggior parte (ogni?) Web server consente di configurare regole per controllare quali file devono essere accessibili (aka il controllo di accesso). Il suo è un esempio come si fa con il Apache web server .

PHP: front controller

È anche possibile fare questo con PHP direttamente (e una configurazione del server web poco). La magia parola chiave il suo è il front controller modello . Questo è ad esempio una classe che funge da unico punto di ingresso per l'applicazione. Ciò significa che ogni richiesta esempio a

 http://localhost/Website/home.php

o

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

viene reindirizzato (inoltrato, comunque lo si voglia chiamarla) e trattata dai

 http://localhost/Website/index.php

Così, alla fine si può e deve decidere quali contenuti l'utente ottiene per vedere se cerca di accedere a un determinato URL.
Questo ti dà più controllo sul (aspetto della) URL, ma si deve mettere più sforzo in esso per configurarlo.

Se sei interessato a come funziona, vi suggerisco di dare un'occhiata alla Zend Framework che implementa questo modello.

Apri domanda ...

Anche se è possono fare questo, la domanda è se è necessario farlo. Se non si desidera home.php sia accessibile, perché ti metti sul tuo web server, in primo luogo?

O forse hai una foto sbagliata della struttura di un sito web nella tua testa. Un singola sito web è costituito da più pagine (la maggior parte delle volte), per es.

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
...

Si voleva addirittura che un utente / visitatore può accedere a queste pagine direttamente inserendo l'URL nella barra degli indirizzi o tramite un segnalibro. Ecco come funziona un sito web o WWW.

PHP non può farlo; si tratta di una tecnologia server-side e quindi non in grado di modificare il comportamento del browser. Semplicemente non mettere altri file nella directory e il browser informa l'utente che tale file esiste quando si tenta di accedere a esso.

È possibile ottenere questo risultato anche senza cornici. Se si utilizza Javascript e Ajax per caricare dinamicamente sul suo sito web l'URL non cambierà.

Mentre io non consiglio questo per amor Googles questo sarebbe il più bel modo di farlo e lavorare ancora bene con PHP

Vorrei prendere consigli Sohnee, ma se si vuole veramente è possibile creare l'illusione utilizzando frame HTML.

Sono d'accordo con le risposte pubblicate di recente.

Ma se non avete bisogno di HTML si può andare in FLASH o Java Applet, una volta che questi sono stati caricati, l'URL non cambia più.

La cosa strana di voler fare, ma un semplice modo (e non va bene per niente, ma piccoli siti) è quello di utilizzare intestazione (in posizione: xxxx).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top