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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top