sub.domain.tld/seite

Eines der wichtigsten Anwendungsgebiete von mod_rewrite ist das umschreiben von dynamischen in statische URLs um "suchmaschinenfreundliche URLs" zu erzeugen. Aber was ist besser fürs Ranking? http://www.url.com/12_2.htm, http://www.url.com/url,12,2.htm oder doch lieber http://www.url.com/12/2/url/ Fragen zum URL-Design werden hier diskutiert.

Moderator: Super-Mod

sub.domain.tld/seite

Beitragvon oque » 22.08.2008 01:22

Hey :)

Danke schon einmal im Vorraus fürs Helfen, ich weiß das man hier immer gute
kompetente Hilfe bekommt :D

Also mein Problem sieht folgendermaßen aus, ich habe für jeden User meines
Systems, über Modrewrite und einer Wildcard Subdomain es ermöglicht
das jedes Userprofil über "benutzername.domain.tld" erreichbar ist. Nun möchte
ich mein System ausbauen und möchte verschiedene Funktionen anbieten, die die
User unterhalten. So möchte ich beispielsweise eine Gallery für jeden User installieren.

Mit den Subdomains funktioniert schon alles perfekt:

Code: Alles auswählen
RewriteCond %{HTTP_HOST} !^www\.domain\.tld$
RewriteCond %{HTTP_HOST} ^([^\.]+)\.domain\.tld$
RewriteRule ^$ /profile.php?user=%1 [L]


Jede Funktion ist folgendermaßen erreichbar (anhand des Beispiels einer Gallery):

profile.php?user=benutzername&page=gallery

Erreichbar soll das ganze unter

benutzername.domain.tld/gallery

sein... Versucht habe ich schon vieles, geschafft leider noch garnichts brauchbares in der Richtung...
Würde mich sehr freuen wenn ihr eine Lösung dafür hättet.

Vielen Dank nochmals,
oque.
NEIN ich bin nicht die Signatur oô, ich putze hier nur!
oque
.
.
 
Beiträge: 5
Registriert: 04.06.2008 15:38
Wohnort: München

Beitragvon Gumbo » 22.08.2008 09:06

Probier mal Folgendes:
Code: Alles auswählen
RewriteCond %{HTTP_HOST} !^www\.domain\.tld$
RewriteCond %{HTTP_HOST} ^([^\.]+)\.domain\.tld$
RewriteRule ^ /profile.php?user=%1 [QSA]
RewriteRule ^gallery$ /profile.php?page=gallery [QSA]
Markus Wulftange
Gumbo
Moderator
Moderator
 
Beiträge: 5019
Registriert: 07.01.2005 01:18
Wohnort: Trier

Beitragvon oque » 22.08.2008 15:35

Danke, aber funktioniert noch nicht ganz so wie es sollte,
denn wenn ich "benutzername.domain.tld" aufrufe komme ich auf die reguläre startseite
meiner seite und wenn ich "benutzername.domain.tld/unterseite" aufrufe steht da, das
ich die variable "benutzername" nicht angegeben habe. das ganze müßte so aussehen:

Code: Alles auswählen
RewriteCond %{HTTP_HOST} !^www\.domain\.tld$
RewriteCond %{HTTP_HOST} ^([^\.]+)\.domain\.tld$
RewriteRule ^ /profile.php?user=%1 [QSA]
RewriteRule ^([0-9a-zA-Z]+)$ /profile.php?user=(der benutzername in der subdomain)&page=$1 [QSA]


Nun weiß ich ja nicht wie ich das so schreibe, das mein Script auch den Nutzernamen erkennt...
Kompliziert, aber ich hoffe ihr versteht was ich meine...
Außerdem darf die variable "page" als Ordnerdarstellung bei der normalen Domain nicht funktionieren...
Also darf beispielsweise es nur so aufgerufen werden:

"benutzername.domain.tld/page" und nicht "domain.tld/page"

...

Edit:

Hab das jetzt folgendermaßen gelößt:

Code: Alles auswählen
RewriteCond %{HTTP_HOST} !^www\.domain\.tld$
RewriteCond %{HTTP_HOST} ^([^\.]+)\.domain\.tld$
RewriteRule ^$ /profile.php?user=%1 [L]

RewriteCond %{HTTP_HOST} !^www\.domain\.tld$
RewriteCond %{HTTP_HOST} ^([^\.]+)\.domain\.tld$
RewriteRule ^([^\.]+)$ /profile.php?user=%1&page=$1 [L]
NEIN ich bin nicht die Signatur oô, ich putze hier nur!
oque
.
.
 
Beiträge: 5
Registriert: 04.06.2008 15:38
Wohnort: München

Beitragvon Gumbo » 22.08.2008 15:52

Du hättest eigentlich nicht viel ändern müssen:
Code: Alles auswählen
RewriteCond %{HTTP_HOST} !^www\.domain\.tld$
RewriteCond %{HTTP_HOST} ^([^\.]+)\.domain\.tld$
RewriteRule ^ /profile.php?user=%1 [QSA]
RewriteRule ^([0-9a-zA-Z]+)$ /profile.php?page=$1 [QSA]
Markus Wulftange
Gumbo
Moderator
Moderator
 
Beiträge: 5019
Registriert: 07.01.2005 01:18
Wohnort: Trier


Zurück zu URL-Design

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

cron