myGully.com

myGully.com (https://mygully.com/index.php)
-   Entwicklung & Programmierung (https://mygully.com/forumdisplay.php?f=72)
-   -   Profil als URL ohne GET (https://mygully.com/showthread.php?t=2632492)

MrTee 30.05.12 12:10

Profil als URL ohne GET
 
Hallöchen Leute, ich wusste leider nicht, wie ich den Titel hätte besser umschreiben sollen, also bitte Asche über mein Haupt ;)

Mein Vorhaben ist folgendes:
Ich habe ein S***** namens profil.php, welches bisher per GET aus der URL den Usernamen zieht. Nun würde ich es gerne einrichten, dass in der URL nicht steht

Zitat:

[Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...]
sondern

Zitat:

[Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...]
Leider weiß ich nicht genau, wo ich bei diesem Problem anfangen soll. Ich denke die Durchführung selbst ist in 5 Minuten gemacht, aber leider weiß ich ums verrecken nicht, wonach ich suchen soll :/

Dank schon mal im Voraus :T

ProgMaster 30.05.12 16:38

Wenn du es richtig machen willst dann REST.

Gibt aber auch andere Lösungen: Url mapping, mod_rewrite... Ist aber limitiert bei php

Ps0ido 30.05.12 18:48

einfach bei der Registrierung mit PHP einen Ordner erstellen mit dem Username dann darein einfach in index.php den S***** rein der aus der Datenbank alles ausliest und die Seite anzeigt.

cooki3monst3r 30.05.12 18:52

Würds auch mit mod_rewrite machen, wenn der Server das unterstützt.

Zitat:

aber leider weiß ich ums verrecken nicht, wonach ich suchen soll :/
-> Google "URL umschreiben" -> [Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...] :) - Sogar mit Beispiel für Dein Anwendungsfall.

ProgMaster 30.05.12 21:29

Zitat:

Zitat von Ps0ido (Beitrag 23559411)
einfach bei der Registrierung mit PHP einen Ordner erstellen mit dem Username dann darein einfach in index.php den S***** rein der aus der Datenbank alles ausliest und die Seite anzeigt.

Bloss nicht! Dies wäre vollkommener Unsinn!

hardware_freak 30.05.12 21:47

Kenne das aktuelle Beispiel zwar nicht (dafür fehlen zu viele Infos) aber eventuell geht es auch über POST.

MrTee 30.05.12 22:23

Danke für die bisherigen Antworten! Werde mir bei Gelegenheit mod_rewrite anschauen und mal sehen, wie weit ich damit komme :T

ProgMaster 31.05.12 00:08

Zitat:

Zitat von hardware_freak (Beitrag 23559958)
Kenne das aktuelle Beispiel zwar nicht (dafür fehlen zu viele Infos) aber eventuell geht es auch über POST.

Du hast die Frage einfach nicht verstanden!

Paratron 03.07.12 22:40

Ist super simpel.

Du legst im Verzeichnis neben deiner PHP datei eine datei mit dem namen ".htaccess" an und fügst folgenden Inhalt ein.

Bei meinem Beispiel gehe ich davon aus, das du eine datei profil.php hast und gern die URL:

[Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...]

in

[Link nur für registrierte und freigeschaltete Mitglieder sichtbar. Jetzt registrieren...]

umwandeln möchtest.

Eigentlich geht es für den Server umgekehrt. In der .htaccess datei sagst du dem server, das er den Aufruf der URL "/profil/peter" nehmen soll und intern wie einen Aufruf an "profil.php?user=peter" behandeln soll.

Code:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule profil/(.+?)$ profil.php?user=$1 [L]

Die drei Zeilen kurz erklärt:

Zeile 1 bewirkt, das der Server das modul für URL-umschreibung lädt und verwendet.
Zeile 2 und 3 bewirkt, das der Server URLs NICHT umschreibt, wenn er eine passende datei oder einen passenden ordner zur URL findet.
Zeile 4 ist die eigentliche Umschreibung. Die Rewrite rule ist durch leerzeichen in drei teile geteilt. Teil 1 ist das muster nachdem er suchen soll. Etwas das mit "profil/" anfängt und dann mit einer gruppe von mehreren zeichen endet. Die runden klammern bedeuten hier: merke dir diesen teil.
Der nächste part ist der teil, durch den das muster ersetzt werden soll. $1 bedeutet hier das er den inhalt der ersten runden klammer aus dem suchmuster dort einsetzen soll - also den benutzernamen. Das [L] am ende ist eine option die dem server sagt: wenn das muster passt, hör hier auf weiterzusuchen.

Hoffe damit ist dir geholfen :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:19 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.