Wie zu vermeiden, dass die Adresse in der Adressleiste in PHP zu ändern
Frage
Ich habe ein Problem mit der Adressleiste (im Browser).
Die Homepage-URL meiner Website sieht wie folgt aus: http://localhost/Website/index.php
Wenn ich .../Website/home.php
schreiben lädt es die die home.php
Seite. Ich denke, es ist nicht sicher, ob jemand zu einem der Webseite gehen kann, sie wollen, wenn seine Adresse kennen. Ich mag die automatische URL-Umleitung in der Adressleiste sperren. Bitte jemand mir helfen, so dass, wenn jemand schreibt die .../home.php
Adresse, die er leitet den Browser zu index.php
als Standardseite.
Keine korrekte Lösung
Andere Tipps
Das gesamte Konzept des World Wide Web ist, dass jede Ressource (zB jede Web-Seite) eine eindeutige Resource Identifier (Adresse). Es ist ein integraler Bestandteil davon, wie das Internet funktioniert und Sie sollten es anzupassen, anstatt zu vermeiden es.
Stellen Sie sicher, haben Sie einen schönen, großen Link zu Ihrer Homepage und die Menschen werden es nutzen, wenn sie auf einer anderen Seite landen und nicht finden können, was sie wollen.
Ich hoffe, das hilft.
kurzum: Sie können das nicht tun. Wie andere schon erwähnt, ist PHP eine Server-Seite Sprache das bedeutet es nicht den Browser steuern kann (das heißt jemand verhindern, dass die URL zu ändern). Lesen und folgen Sie den Links in Wie funktioniert PHP Arbeit? die den Unterschied zwischen Server-Seite kennen lernen und Client-Seite Sprachen.
Die Wikipeda Artikel World Wide Web , Uniform Resource Locator (URL) und Web-Server könnte auch interessant sein für Sie ein grundlegendes Verständnis, wie die WWW-Werke zu erhalten und was es über die URLs ist.
Aber Sie können Dateien steuern, welche zugegriffen werden kann. Es gibt zwei Möglichkeiten:
Web-Server-Konfiguration
Die meisten (alle?) Web-Server können Sie Regeln zur Steuerung konfigurieren, welche Dateien (auch bekannt als Zugangskontrolle) zugänglich sein. Sie ist ein Beispiel, wie es mit dem Apache-Webserver .
PHP: Front Controller
Sie können dies auch direkt mit PHP tun (und eine kleinen Web-Server-Konfiguration). Die magische Stichwort ihr ist die Front Controller . Dies ist z.B. eine Klasse, die als Single Point of Entry für Ihre Anwendung fungiert. Dies bedeutet, dass jede Anfrage z.B. zu
http://localhost/Website/home.php
oder
http://localhost/Website/foo/bar.php
wird umgeleitet (weitergeleitet, aber Sie wollen, dass es nennen) zu und verarbeitet
http://localhost/Website/index.php
Also am Ende können Sie und haben zu entscheiden, welche Inhalte der Nutzer zu sehen bekommt, wenn er eine bestimmte URL zuzugreifen versucht.
Dies gibt Ihnen mehr Kontrolle über die (Aussehen) URLs, aber Sie müssen mehr Aufwand in sie setzen es zu konfigurieren.
Wenn Sie, wie das funktioniert interessiert sind, schlage ich auf dem Zend Framework einen Blick zu haben, die Geräte dieses Muster.
Offene Frage ...
Auch wenn Sie können dies tun, ist die Frage, ob Sie es zu tun haben. Wenn Sie home.php
nicht erreichbar sein wollen, warum tun Sie es in erster Linie auf Ihrem Webserver setzen?
Vielleicht haben Sie ein falsches Bild von der Struktur einer Website in Ihrem Kopf. Eine einzige Website besteht aus mehr Seiten (meistens), z.
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
...
Es wird auch will, dass ein Benutzer / Besucher diese Seiten direkt durch Eingabe der URL in die Adressleiste zugreifen können oder über ein Lesezeichen. Dies ist, wie eine Website oder die WWW funktioniert.
PHP kann das nicht tun; es ist eine Technologie, die serverseitige und so kann das Verhalten des Browsers nicht geändert werden. Einfach keine andere Dateien in dem Verzeichnis abgelegt und der Browser die Benutzer darüber informieren, dass keine solche Datei vorhanden ist, wenn sie versuchen, es zu navigieren.
Sie können dieses Ergebnis erhalten, auch ohne Frames. Wenn Sie Javascript und AJAX verwenden, um dynamisch Ihre Inhalte laden Ihre URL wird sich nicht ändern.
Während ich dies nie für Googles willen empfehle dies die nette Weise sein würde, es zu tun und immer noch gut funktionieren mit PHP
Ich würde Sohnee Beratung nehmen, aber wenn Sie wirklich wollen Sie könnte die Illusion erzeugen, indem HTML-Frames verwendet wird.
Ich bin mit den Antworten vor kurzem gepostet.
Aber wenn Sie nicht brauchen HTML
Sie in FLASH
oder Java Applet
gehen können, wenn diejenigen geladen, Ihre URLs nicht mehr ändert.
Schräge Sache tun möchte, aber ein einfach Art und Weise (und nicht gut für alles andere als kleine Sites) ist Header zu verwenden (Ort: xxxx).