PHP Variablen mal anders

Hallo,

ich programmierte in der Vergangenheit immer wieder kleine Communitys mit verschiedenen Profilen der Benutzer etc.

Mir geht es um die Übergabe der Variablen durch die Adresse.

Damals habe ich es so gelöst:

index.php?site=profil&profilid=1

Dann so:

?profil&id=555

Ich möchte jetzt aber das ein Profil so aufgerufen werden kann:

www.beispiel.de/id1

oder z.B. ein Video so:

www.beispiel.de/video1

oder eine contentseite z.B.

www.beispiel.de/beispiel

Ist das mit dem Apache und PHP5 machbar?

Hi Kim,

das ist kein Problem und ganz easy machbar. Hat nichts mit PHP zu tun, sondern ist eine reine Sache vom Apache. In der .htaccess-Datei hast du die Möglichkeit das sog. „url rewriting“ zu aktivieren.

Hier ein Tutorial dazu:
http://www.yourhtmlsource.com/sitemanagement/urlrewr…

Ansonsten einfach mal nach „url rewriting apache“ googlen, da solltest du viele Tutorials finden.

Gruß

Hallo!

Das Übergeben der Parameter in der Url ist GET. Wenn du im „Header“ die Daten „unsichtbar“ übergibst, dann ist das POST.

Zurück zu deiner Frage, du kannst immer einen Stamm-Ordner angeben:

www.beispiel.de/video

Würde im Unterordner /video" sich eine index.php/.html befinden die der Apache Webserver aufruft! Bei einem Wamp Server ist das Stamm-Verzeichnis „www“. Darunter existieren z.b. Unterprojekte in deinem Fall natürlich nur ein Ordner „video“. Du rufst dann lokal mit einem Firefox deine webseite über die Url localhost/video auf und kannst so testen ob es auf deinem Webserver auch so geht.

Man kann aber auch folgendes machen:

video.beispiel.de

Das wäre eine „Sub-Domain“, man kann bei den meisten Providern eine solche Sub-Domain anlegen. Dann muss natürlich wieder eine index.php/.html existieren im Web-Ordner /video existieren.

In jedem Fall kannst du natürlich an die Url eine Seite anhängen:

www.beispiel.de/video/index.php?id=555

oder

video.beispiel.de/index.php?id=555

Weiters kann in dem Unterverzeichnis „video“ die index.php auch natürlich Videos, Bilder usw. mittels Header-Content „emulieren“.

lg

Hallo,

danke für die Antwort. Jedoch war dies nicht so gemeint.
Die Antwort von Big Chief hat mir gehofen, das ist genau das was ich meinte :smile:

Trotzdem Danke

Hi,

du muss dazu die .htacess ändern. unter mod_rewrite findest du, was du suchst.

hi.

wenn du deinen apache frei konfigurieren kannst würde ich dir mod_rewrite ans herz legen.
ausführliche erklärungen dazu gibt’s dort:
http://httpd.apache.org/docs/2.2/rewrite/

andernfalls kann man das auch komplett über php realisieren.
(abhängig vom webserver) kannst du ein script nämlich auch via

http://example.com/script.php/path/to/nowhere

aufrufen. apache (wie’s bei anderen ist, weiß ich jetzt nicht genau) ruft dann script.php auf.

über die globale $_SERVER[‚REQUEST_URI‘] gelangst du dann an die eigentliche url.
dort kannst du dann /path/to/nowhere rausparsen.

alles klar soweit?

  • b

Hi,
grundsätzlich geht das!
ich hab das vor Jahren auch mal aktiv gemacht gehabt, weis nur grade nicht mehr wie es ging… :confused:

ich kann gerne mal meine alten php projecte durchsuchen ob ich was finde wenn immernoch intresse besteht (ich antworte ja erst 2 tage später :smile:

sorry, aus händischem php bin ich total raus. Ich mache nur noch Sachen mit Drupal, und da hilft mir mein Feld-Wald-und-Wiesen-PHP sowieso nix, da das ganze nochmal über eine API abstrahiert ist, die ich auch nach 2 Jahren noch nicht checke … was ich auch nicht muss, denn für fast alles gibt es passende Module.

Also, musst dein Glück woanders versuchen z.B. bei google zum Thema clean urls, denn danach klingt dein Anliegen.

Was mir so auf die Schnelle einfällt ist, die URL mittels $url = $_SERVER[‚REQUEST_URI‘]; auszulesen. Anschließend kannst du mit „explode“ den wichtigen Teil rausfiltern.

viele Grüße