Seite 1 von 1

URL umleiten

Verfasst: 24.08.2009 20:04
von Scripty360
Ich habe meine Seite total php-like aufgezogen und würde dies jetzt gern verbessern wollen

domain.com/mitglied.php?mid=123 << bitte wer? Mitglied 123? ^^

ich möchte so etwas jetzt auf meiner Seite gern anbieten

domain.com/mitglied/123,Karl-May << Ist dies Suchmaschinen freundlich?

Ich gebe also die id und einen beliebigen String dahinter an, ausgewertet würde nur die id, welche aus Zahlen bestehen muss und maximal 5 Zeichen lang sein kann. Ich habe den Ordner /mitglied/ erstellt und darin eine .htaccess mit folgenden Inhalt gespeichert

RewriteEngine on
RewriteRule ^([0-9]+),(.+).html$ ../mitglied.php?mid=$1 [L]

Es klappt aber nicht ganz. Er leitet zwar wie gewünscht weiter, aber da ich scheinbar noch im Ordner /mitglied/ hänge ist der Seiteninhalt ohne jedes Layout. Heisst keine Grafiken oder StyleSheets. Was mach ich falsch bzw wie würde denn die korrekte Lösung ausschauen? :)

Verfasst: 24.08.2009 20:26
von Gumbo
Suchmaschinen würden auch mit „/mitglied.php?mid=123“ klar kommen, da für sie „/mitglied/123,Karl-May“ nicht mehr Bedeutung hat als „/mitglied.php?mid=123“. Sie wissen also auch nicht, dass „/mitglied/123,Karl-May“ Mitglied 123 heißt Karl-May bedeutet.

Was aber dein eigentliches Problem betrifft, musst du wissen, dass relative URLs von einer Basis-URL aus aufgelöst werden. Und das ist immer die URL der aktuellen Ressource, also die des aktuellen HTML-Dokuments, falls nicht explizit anders angegeben (siehe BASE-HTML-Element). Der Browser versucht dann also die relativen URLs von „/mitglieder/…“ aus aufzulösen, was bei relativen URL-Pfade, die nur für die Basis „/“ gedacht waren, fehlschlägt. Absolute URL-Pfade, also solche, die mit „/“ beginnen, sollten hier helfen.

Verfasst: 24.08.2009 21:44
von Scripty360
Danke für die Hilfe. gehe ich richtig in der Annahme das sich hier drauf bezogen wird?
http://de.selfhtml.org/html/kopfdaten/basis.htm

Gibt es auch eine Lösung worin man nicht alle Templates umschreiben müsste?

Ich habe das jetzt so gelöst das ich mitglieder direkt in der URL angebe.

domain.com/mitglied,123,Karl-May

damit sollte ich diese Probleme umgehen. :)