Beiträge, Threads, Foren u. Profile mit kurzen URLs aufrufen

Du suchst einen bestimmten Mod, weißt aber nicht genau wo bzw. ob er überhaupt existiert? Wenn dir dieser Artikel nicht weiterhilft, kannst du hier den von dir gewünschten/gesuchten Mod beschreiben ...
Falls ein Mod-Autor eine der Anfragen hier aufnimmt, um einen neuen Mod zu entwickeln, geht's in [3.0.x] Mods in Entwicklung weiter.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
dieweltist
Mitglied
Beiträge: 1966
Registriert: 25.07.2006 13:28
Wohnort: Thüringen
Kontaktdaten:

Beiträge, Threads, Foren u. Profile mit kurzen URLs aufrufen

Beitrag von dieweltist »

http://forumtreff.pytalhost.de/viewtopi ... 10&t=9#p12

Hier habe ich was gelesen über Suchmaschinenoptimierung; und hatte dann die Idee, mit einfachen Umschreibungsanweisungen in der Datei .htaccess was in dieser Richtung zu machen, was mir auch so weit erst mal gelungen ist. In diese Datei habe ich das angefügt:

Code: Alles auswählen

RewriteEngine On

RewriteBase /

RewriteRule ^([0-9]+)$ http://forumtreff.pytalhost.de/viewforum.php?f=$1 [L]

RewriteRule ^([0-9]+)/([0-9]+)\.htm$ http://forumtreff.pytalhost.de/viewtopic.php?f=$1&t=$2 [L]

RewriteRule ^([0-9]+)/([0-9]+)\.htm([0-9]+)$ http://forumtreff.pytalhost.de/viewtopic.php?f=$1&t=$2&p=$3 [L]

RewriteRule ^([0-9]+)/([0-9]+)\.html([0-9]+)$ http://forumtreff.pytalhost.de/viewtopic.php?f=$1&t=$2&p=$3&#p$3 [NE,L]

RewriteRule ^([0-9]+)\.htm$ http://forumtreff.pytalhost.de/viewtopic.php?t=$1 [L]

RewriteRule ^([0-9]+)\.htm([0-9]+)$ http://forumtreff.pytalhost.de/viewtopic.php?t=$1&p=$2 [L]

RewriteRule ^([0-9]+)\.html([0-9]+)$ http://forumtreff.pytalhost.de/viewtopic.php?t=$1&p=$2#p$2 [NE,L]

RewriteRule ^htm([0-9]+)$ http://forumtreff.pytalhost.de/viewtopic.php?p=$1 [L]

RewriteRule ^html([0-9]+)$ http://forumtreff.pytalhost.de/viewtopic.php?p=$1#p$1 [NE,L] 
[NE] bedeutet übrigens, dass Mod Rewrite das Raute-Zeichen nicht durch %23 ersetzt, damit der Anker dadurch funktioniert. Zu diesen 8 Anweisungen siehe diese Beispiel-URLs, die in derselben Reihenfolge wie die jeweils zugehörigen RewriteRule-Anweisungen sind. Also bspw. der erste Link wird von der ersten Anweisung bearbeitet u.s.w..

http://forumtreff.pytalhost.de/10 - Forum oder Kategorie mit der ID-10 aufrufen.

http://forumtreff.pytalhost.de/10/9.htm - Erste Seite des Threads (Themas) 9 aufrufen.

http://forumtreff.pytalhost.de/10/9.htm12 - Diejenige Threadseite aufrufen, wo der Beitrag 12 ist.

http://forumtreff.pytalhost.de/8/9.html10 - Dasselbe wie eben, nur dass der Webbrowser zu dem Beitrag hin scrollt, also mit Anker. Eigentlich hätte ich dazu lieber das übliche Zeichen # benutzt, aber leider funktioniert dann Mod Rewrite nicht bei Pytal.de.

http://forumtreff.pytalhost.de/9.htm - Erste Seite vom Thread 9 aufrufen.

http://forumtreff.pytalhost.de/9.htm12 - Diejenige Threadseite aufrufen, in der sich der Beitrag 12 befindet.

http://forumtreff.pytalhost.de/9.html12 - Wie vorhin, aber mit Anker.

http://forumtreff.pytalhost.de/htm12 - Diejenige Threadseite aufrufen, wo Beitrag 12 ist.

http://forumtreff.pytalhost.de/html12 - Wie vorhin, aber mit Anker.


Mein Forum habe ich erst mal direkt ohne zusätzlichen Ordner installiert, um 10 Beiträge je Threadseite zu realisieren. Aber in dieser Installation befindet sich der Ordner /a/, in dem ich dieses Forum ein zweites mal installierte, wie hier beschrieben: Klick!

Ursprünglich hatte ich das Forum im Ordner /1/, was für einen Beitrag je Seite steht. Damit aber Mod Rewrite bei den kurzen URLs einen Ordnernamen von einer Zahl für ein Forum, Thread oder Beitrag unterscheiden kann, ist es angebracht, wenn der Ordner keine Zahl, sondern ein Buchstabe ist.

'a' steht hier für ein Zeichen je Seite. Demzufolge würde 'b' (alphabetisch) für 10 Beiträge je Seite stehen, 'c' für 100 Beiträge u.s.w.. Übrigens brauchte ich den Ordner 1 nur in den Ordner a umbenennen, ohne dass ich was am System verändern musste. Alles funktioniert (trotzdem) perfekt.

Damit auch diese Installation mit SEO-URLs funktionieren, habe ich in die Datei .htaccess diese Umformungsanwesungen auch noch mit angefügt, die für die zweite Installation im Ordner a zuständig sind:

Code: Alles auswählen

(Ggf. RewriteEngine On an dieser Position, falls nachfolgende RewriteRules in die andere .htaccess der zweiten Installation eingefügt werden.)

RewriteRule ^a/([0-9]+)$ http://forumtreff.pytalhost.de/a/viewforum.php?f=$1 [L]

RewriteRule ^a/([0-9]+)/([0-9]+)\.htm$ http://forumtreff.pytalhost.de/a/viewtopic.php?f=$1&t=$2 [L]

RewriteRule ^a/([0-9]+)/([0-9]+)\.htm([0-9]+)$ http://forumtreff.pytalhost.de/a/viewtopic.php?f=$1&t=$2&p=$3 [L]

RewriteRule ^a/([0-9]+)/([0-9]+)\.html([0-9]+)$ http://forumtreff.pytalhost.de/a/viewtopic.php?f=$1&t=$2&p=$3#p$3 [NE,L]

RewriteRule ^a/([0-9]+)\.htm$ http://forumtreff.pytalhost.de/a/viewtopic.php?t=$1 [L]

RewriteRule ^a/([0-9]+)\.htm([0-9]+)$ http://forumtreff.pytalhost.de/a/viewtopic.php?t=$1&p=$2 [L]

RewriteRule ^a/([0-9]+)\.html([0-9]+)$ http://forumtreff.pytalhost.de/a/viewtopic.php?t=$1&p=$2#p$2 [NE,L]

RewriteRule ^a/htm([0-9]+)$ http://forumtreff.pytalhost.de/a/viewtopic.php?p=$1 [L]

RewriteRule ^a/html([0-9]+)$ http://forumtreff.pytalhost.de/a/viewtopic.php?p=$1#p$1 [NE,L]


In diesem speziellen Fall kann man sämtliche Umwandlungsanweisungen in diejenige .htaccess packen, die sich in der Installation befindet, in der sich der Ordner von der zweiten Installation befindet. Es funktioniert aber auch, wenn man die ersten 9 Anweisungen in der .htaccess der ersten Haupt-Installation hat; und die anderen 9 Anweisungen (mit dem a) im Ordner (a) der anderen Installation.

Zu diesen 8 Anweisungen siehe diese Beispiel-URLs, die in derselben Reihenfolge wie die jeweils zugehörigen RewriteRule-Anweisungen sind. Also bspw. der erste Link wird von der ersten Anweisung bearbeitet u.s.w..

http://forumtreff.pytalhost.de/a/10 - Forum oder Kategorie mit der ID-10 so aufrufen, dass bei der weiteren Benutzung jeweils immer ein Beitrag je Threadseite angezeigt wird.

http://forumtreff.pytalhost.de/a/10/9.htm - Erste Seite vom Thread (Thema) 9 aufrufen.

http://forumtreff.pytalhost.de/a/10/9.htm12 - Diejenige Threadseite aufrufen, wo der Beitrag 12 ist.

http://forumtreff.pytalhost.de/a/10/9.html12 - Dasselbe wie eben, nur dass der Webbrowser zu dem Beitrag hin scrollt, also mit Anker.

http://forumtreff.pytalhost.de/a/9.htm - Erste Seite vom Thread 9 aufrufen.

http://forumtreff.pytalhost.de/a/9.htm12 - Diejenige Threadseite aufrufen, in der sich der Beitrag 12 befindet.

http://forumtreff.pytalhost.de/a/10.html12 - Wie vorhin, nur mit Anker.

http://forumtreff.pytalhost.de/a/htm12 - Diejenige Threadseite aufrufen, wo Beitrag 12 ist.

http://forumtreff.pytalhost.de/a/html12 - Wie vorhin, nur mit Anker.

Wenn Webbadressen jeweils mehrere Angaben enthalten und durch Verschiebung sich eine URL geändert hat, wird der jeweilige Beitrag oder Thread trotzdem korrekt aufgerufen, auch wenn bspw. die Forums- und/oder die Thread-ID nicht mehr korrekt sind, weil jeweils jedem Beitrag, Thread, Forum (bzw. Kategorie) eine eindeutige und somit unverwechselbare ID zugeordnet ist.


Leider gibt das Forum solche kurzen suchmachinenfreundlichen (SEO-) URLs nicht aus, aber ich werde die (zukünftigen) User meines Forums bitten, solche kurzen URLs jeweils manuell zu schreiben, wenn sie bspw. eine Kategorie, ein Forum, einen Thread oder einen bestimmten Beitrag verlinken wollen. Lieber wäre es mir, wenn ich anstatt dem kleinen Buchstaben l (L) hinter htm die sonst übliche Raute # verwenden könnte; aber leider funktioniert dann bei Pytal.de Mod Rewrite nicht.

Ich möchte nämlich eigentlich keinen unnötigen Schnick-Schnack, keinen großen SEO-Tam-Tam, sondern ich möchte nur ganz einfache Url-Umschreibungen wie diese hier. Und zwar so, dass keine Titel in den kurzen suchmaschinenfreundlichen URLs sind, damit diese jeweils auch problemlos nach einer Umbenennung sofort aufrufbar sind. Und auch nicht, dass alle möglichen internen Forenlinks als statische URLs dadurch erzeugt werden, die den Google-Boot unnötig auf Abwege bringen könnten.

Sondern nur, wie ich hier schon vorgearbeitet habe, nur Umschreibungen für Foren, Threads und Beiträge. Dabei habe ich darauf geachtet, dass auf suchmaschinenfreundliche Weise möglichst keine Inhalte doppelt sind. Aufgrund der Struktur dieser Threads ist nämlich für Suchmaschinen-Bots erkennbar, welche Urls jeweils mehr oder weniger die gleichen Inhalte aufrufen.

Obwohl ich allein schon diese Umstellung in der Datei .htaccess für sehr vorteilhaft finde, würde ich mich sehr freuen, wenn man mir Hinweise geben könnte, wie ich Code umschreiben müsste, damit die internen Links von Beiträgen, Threads und Foren auch schon diese kurzen suchmaschinenfreundlichen URLs haben; weiter nichts. Danke im voraus.


Ach ja, da fällt mir noch ein; falls jemand das Forum mit Ordner b aufruft, der gar nicht vorhanden ist, kann man noch zwei Anweisungen einfügen, die entsprechend umleiten.

Code: Alles auswählen

RewriteRule ^b$ http://forumtreff.pytalhost.de/ [L]

RewriteRule ^b/(.*) http://forumtreff.pytalhost.de/$1
Die erste Umleitungsanweisung bewirkt, dass bei ausschließlichem Aufruf von

http://forumtreff.pytalhost.de/b

das b entfernt wird.

Die zweite Anweisung entfernt bei Aufruf von

http://forumtreff.pytalhost.de/b/

die letzten beiden Zeichen. Diese Umwandlungsanweisung hat aber die Option [L] nicht, wodurch die Umwandlung nicht unbedingt abgeschlossen sein muss, und das Ergebnis ggf. von einer der ersten 9 Umleitungsanweisungen weiter umgewandelt wird.

Falls nämlich hinter b/ weitere Zeichen kommen, wird die URL mit entferntem /b weitergegeben und ggf. von einer der ersten 9 Umwandlungsanweisungen entsprechend umgewandelt.

Gegebenenfalls kann es sein, wenn nämlich Mod Rewrite ordentlich funktioniert, kann man jeweils den zweiten Teil einer jeden RewriteRule als kürzere relative URL angeben, also in diesem Fall ohne http://forumtreff.pytalhost.de/.

Bei Pytal.de funktioniert das bei einigen Rewrite Rules, wenn die Angabe der Basis RewriteBase / nicht fehlt. In diesem Fall werden dann im Browser jeweils die kurzen URLs angezeigt.
Zuletzt geändert von dieweltist am 02.12.2008 23:14, insgesamt 3-mal geändert.
Benutzeravatar
dieweltist
Mitglied
Beiträge: 1966
Registriert: 25.07.2006 13:28
Wohnort: Thüringen
Kontaktdaten:

Beitrag von dieweltist »

ACHTUNG! Den Basisbeitrag habe ich völlig überarbeitet, weil die ursprünglichen Mod Rewrite - Anweisungen meines Erachtens teilweise nicht so sehr vorteilhaft waren. Dieses mal sind sie mir viel besser gelungen und die Funktion kann gleich hier ausprobiert werden durch Aufruf der Links.

Und vielleicht habe ich mit diesen URL-Umschreibungen was angestoßen; denn hinter diesen verbirgt sich ein System, was vielleicht in Zukunft richtungsweisend sein könnte. Vielleicht findet dieser Beitrag viele Nachahmer, die gern ihre Kategorien, Foren, Threads und Beiträge auch gern so einfach und suchmaschinenfreundlich aufrufen möchten.

Wie ich zudem jetzt herausgefunden habe, so kann man die ersten 9 von diesen RewriteRules gleich so in die Datei .htaccess schreiben, dass man die anderen 9 nicht mehr braucht, weil nämlich diese 9 das gleich mit ausführen für die Installation im Ordner /a/:

Code: Alles auswählen

RewriteEngine On

RewriteRule ^(a/)?([0-9]+)$ http://forumtreff.pytalhost.de/$1viewforum.php?f=$2 [L]

RewriteRule ^(a/)?([0-9]+)/([0-9]+)\.htm$ http://forumtreff.pytalhost.de/$1viewtopic.php?f=$2&t=$3 [L]

RewriteRule ^(a/)?([0-9]+)/([0-9]+)\.htm([0-9]+)$ http://forumtreff.pytalhost.de/$1viewtopic.php?f=$2&t=$3&p=$4 [L]

RewriteRule ^(a/)?([0-9]+)/([0-9]+)\.html([0-9]+)$ http://forumtreff.pytalhost.de/$1viewtopic.php?f=$2&t=$3&p=$4#p$4 [NE,L]

RewriteRule ^(a/)?([0-9]+)\.htm$ http://forumtreff.pytalhost.de/$1viewtopic.php?t=$2 [L]

RewriteRule ^(a/)?([0-9]+)\.htm([0-9]+)$ http://forumtreff.pytalhost.de/$1viewtopic.php?t=$2&p=$3 [L]

RewriteRule ^(a/)?([0-9]+)\.html([0-9]+)$ http://forumtreff.pytalhost.de/$1viewtopic.php?t=$2&p=$3#p$3 [NE,L]

RewriteRule ^(a/)?htm([0-9]+)$ http://forumtreff.pytalhost.de/$1viewtopic.php?p=$2 [L]

RewriteRule ^(a/)?html([0-9]+)$ http://forumtreff.pytalhost.de/$1viewtopic.php?p=$2#p$2 [NE,L]
Falls man eine dritte Installation in Ordner /c/ vorsieht, um bspw. 100 Zeichen je Beitrag anzeigen zu lassen, müsste man den Ausdruck a durch [ac] ersetzen. Käme noch ein Ordner d hinzu, wäre es der Ausdruck [acd] Und käme noch der Ordner e hinzu, wäre es der Ausdruck [acde] oder [ac-e] Das Fragezeichen steht übrigens für ein oder keines dieser Zeichen an dieser Stelle. Siehe hier:

Die Syntax von mod_rewrite - modrewrite.de

Der Ordner b muss in diesem Ausdruck natürlich ausgenommen werden, denn diese Installation für jeweils 10 angezeigte Beiträge je Seite, die ich auch in einen Ordner /b/ hätte installieren können, hatte ich direkt in die Domain gepackt, also ohne Ordner.

Falls ich es mir aber noch anders überlegen sollte, könnte ich alle diese Dateien (natürlich ohne den integrierten Ordner a) herunterladen (am besten unmittelbar nach gelöschtem Cache, und nachdem ich das Forum deaktivieren würde), dann diese Dateien auf dem Webspace alle löschen, und dann wieder in den gewünschten und neu erstellten Ordner /b hochladen. Das Board funktioniert dann wieder erfahrungsgemäß sofort einwandfrei.

Die beiden RewriteRules, die sich auf den Ordner b beziehen, würden dann entfallen, weil er Ordner /b/ ja dann existieren würde; und die Aufrufe für diese Installation nicht mehr zu der Installation ohne Ordner umgeleitet werden müsste. Und bei den anderen RewriteRules dürfte ich dann diesen Ordner b nicht auslassen. Der vorhin erwähnte Ausdruck wäre dann bspw. [a-z]


Mod Rewrite taugt auch dazu, dass man bspw. die URL zum Forum zu einer bestimmten Seite führen lässt, bspw. zu einer Begrüßungsseite. Bspw. könnte man das so machen, dass, wenn man das Forum ohne index.php am URL-Ende aufruft, dass dann diese Seite erscheint; wo nebenbei auch hingewiesen wird, dass, wenn man das Forum mit index.php aufruft, man dann zur normalen Übersichtsseite kommt. In meinem Fall wäre das diese Umwandlungsanweisung:

Code: Alles auswählen

RewriteRule ^$ http://forumtreff.pytalhost.de/viewtopic.php?t=1 [L]
Die Begrüßungsseite kann man nun so aufrufen:

http://forumtreff.pytalhost.de/ oder

http://www.forumtreff.de.tt

weil ich mir bei Joynic.com eine kostenlose Subdomain ohne zusätzliche Werbeeinblendung registriert habe, die ich dort direkt auf die Begrüßungsseite meines Forums umleiten lasse; was aber mit der RewriteRule nichts zu tun hat.

Und wie wäre es, wenn jemand, der zum Index möchte, diesen dann einfach so aufrufen könnte?

http://forumtreff.pytalhost.de/i oder

http://forumtreff.pytalhost.de/index

Hier die Umwandlungsanweisung:

Code: Alles auswählen

RewriteRule ^i(ndex)?$ http://forumtreff.pytalhost.de/index.php [L]
Wer das Forum außerdem noch in einem Ordner /a/ installiert hat, anstatt voriger diese RewriteRule:

Code: Alles auswählen

RewriteRule ^(a/)?i(ndex)?$ http://forumtreff.pytalhost.de/$1index.php [L]
In meinem Fall habe ich die weiter oben schon erwähnten RewriteRules für den nicht existierenden Ordner /b/ für 10 Beiträge je Seite auch dabei. Deswegen kann man den Index meines Forums jetzt mit allen diesen Varianten aufrufen:

http://forumtreff.pytalhost.de/index.php oder

http://forumtreff.pytalhost.de/index oder

http://forumtreff.pytalhost.de/i oder

http://forumtreff.pytalhost.de/b/index.php oder

http://forumtreff.pytalhost.de/b/index oder

http://forumtreff.pytalhost.de/b/i - Für 10 Beiträge je Seite.

http://forumtreff.pytalhost.de/a/index.php oder

http://forumtreff.pytalhost.de/a/index oder

http://forumtreff.pytalhost.de/a/i - Für einen Beitrag je Seite.


Auch Userprofile können mit kurzen Urls aufgerufen werden. Wenn bspw. das persönliche Profil des Teilnehmers 'Testuser' aufgerufen werden soll, kann man dieses anstatt mit der URL

http://forumtreff.pytalhost.de/memberlist.php?mode=viewprofile&u=53

einfach so aufrufen:

http://forumtreff.pytalhost.de/u/53

In die .htaccess einfügen:

Code: Alles auswählen

RewriteRule ^u/([0-9]+)$ http://forumtreff.pytalhost.de/memberlist.php?mode=viewprofile&u=$1 [L]
Und wer wie ich, innnerhalb der Installation einen Ordner /a/ hat, in dem er dieses ein weiteres mal installierte für einen Beitrag je Seite, das einfügen:

Code: Alles auswählen

RewriteRule ^(a/)?u/([0-9]+)$ http://forumtreff.pytalhost.de/$1memberlist.php?mode=viewprofile&u=$2 [L]
Zur Erinnerung: Ich habe das Forum für 10 Beiträge je Threadseite ohne Ordner auf Gratiswebspace von www.pytal.de installiert. Ein weiterer Ordner /a/ ist (dazwischen) auch vorhanden, in dem ich das Forum ein zweites mal installierte für einen Beitrag je Seite.

Die insgesamt in meinem Fall in die .htaccess der Installation ohne Ordner zusätzlich angefügten RewriteRules sind in diesem Fall nachfolgende. Die .htaccess der Installation im Ordner /a/ ist unverändert, also ohne diese nachfolgenden RewriteRules.

Code: Alles auswählen

RewriteEngine On

RewriteRule ^$ http://forumtreff.pytalhost.de/viewtopic.php?t=1 [L]

RewriteRule ^(a/)?i(ndex)?$ http://forumtreff.pytalhost.de/$1index.php [L]

RewriteRule ^(a/)?([0-9]+)$ http://forumtreff.pytalhost.de/$1viewforum.php?f=$2 [L]

RewriteRule ^(a/)?([0-9]+)/([0-9]+)\.htm$ http://forumtreff.pytalhost.de/$1viewtopic.php?f=$2&t=$3 [L]

RewriteRule ^(a/)?([0-9]+)/([0-9]+)\.htm([0-9]+)$ http://forumtreff.pytalhost.de/$1viewtopic.php?f=$2&t=$3&p=$4 [L]

RewriteRule ^(a/)?([0-9]+)/([0-9]+)\.html([0-9]+)$ http://forumtreff.pytalhost.de/$1viewtopic.php?f=$2&t=$3&p=$4#p$4 [NE,L]

RewriteRule ^(a/)?([0-9]+)\.htm$ http://forumtreff.pytalhost.de/$1viewtopic.php?t=$2 [L]

RewriteRule ^(a/)?([0-9]+)\.htm([0-9]+)$ http://forumtreff.pytalhost.de/$1viewtopic.php?t=$2&p=$3 [L]

RewriteRule ^(a/)?([0-9]+)\.html([0-9]+)$ http://forumtreff.pytalhost.de/$1viewtopic.php?t=$2&p=$3#p$3 [NE,L]

RewriteRule ^(a/)?htm([0-9]+)$ http://forumtreff.pytalhost.de/$1viewtopic.php?p=$2 [L]

RewriteRule ^(a/)?html([0-9]+)$ http://forumtreff.pytalhost.de/$1viewtopic.php?p=$2#p$2 [NE,L]

RewriteRule ^(a/)?u/([0-9]+)$ http://forumtreff.pytalhost.de/$1memberlist.php?mode=viewprofile&u=$2 [L]

RewriteRule ^b$ http://forumtreff.pytalhost.de/ [L]

RewriteRule ^b/(.*) http://forumtreff.pytalhost.de/$1

Nachtrag: Nebenbei möchte ich auch darauf aufmerksam , wie schon hier allseits bekannt ist, dass es eine suchmaschinenfreundliche Version des phpBB3 schon gibt, allerdings werden die Seiten jeweils mit den Titeln ausgegeben: http://www.phpbb-seo.de/downloads/phpbb3.html

Des weiteren habe ich jetzt die Erfahrung gemacht, dass man Mod Rewrite anscheinend zum perfekten Funktionieren bringt, indem man über >RewriteEngine On< diese Zeile einfügt:

Code: Alles auswählen

RewriteBase /
Befindet sich das Forum bspw. im Ordner /a/, muss diese Zeile so sein:

Code: Alles auswählen

RewriteBase /a/
Benutzeravatar
dieweltist
Mitglied
Beiträge: 1966
Registriert: 25.07.2006 13:28
Wohnort: Thüringen
Kontaktdaten:

Beitrag von dieweltist »

Inzwischen habe ich mir noch mal Gedanken über kurze URLs gemacht; und habe mir zum Teil ein neues System ausgedacht, wie User manuell URLs schreiben könnten, oder diese mit BB-Codes erzeugen; und das auch in meinem neuen Forum umgesetzt.

Zwischen den RewriteRules habe ich jeweils geschrieben, was diese jeweils bewirken. Bei einigen Umwandlungsanweisungen musste ich im zweiten Teil jeweils die komplette, anstatt die relative URL angeben, damit es beim Gratis-Webspace Pytal.de funktioniert. Nur für die normale Nicht-SEO-Variante des phpBB3.

Ohne dass zusätzliche RewriteRules in die .htaccess eingefügt werden müssen, funktionieren auch Links zu gesetzten Ankern innerhalb von Beiträgen, sodass jeweils sogar gewählt werden kann, ob zu diesem Anker oder zu diesem Beitrag automatisch gescrollt werden soll, wo dieser Anker ist. Und ob dabei die Installation mit 10 oder einem Beitrag je Threadseite aufgerufen werden soll.

Code: Alles auswählen

RewriteEngine On
RewriteBase /
RewriteRule ^(a/)?$ $1viewtopic.php?t=1 [L]
http://forumtreff.pytalhost.de/ - Ruft den Begrüßungsthread 1 auf.

Code: Alles auswählen

RewriteRule ^(a/)?i(ndex)?$ $1index.php [L]
http://forumtreff.pytalhost.de/i - und
http://forumtreff.pytalhost.de/index - rufen jeweils die Indexseite auf.

Code: Alles auswählen

RewriteRule ^(a/)?([0-9]+)$ $1viewtopic.php?t=$2 [L]
http://forumtreff.pytalhost.de/9 - Ruft den Thread 9 auf.

Code: Alles auswählen

RewriteRule ^(a/)?f([0-9]+)$ $1viewforum.php?f=$2 [L]
http://forumtreff.pytalhost.de/f10 - Ruft das Forum 10 auf.

Code: Alles auswählen

RewriteRule ^(a/)?p([0-9]+)$ $1viewtopic.php?p=$2 [L]
http://forumtreff.pytalhost.de/p12 - Ruft diejenige Threadseite auf, wo Beitrag 12 ist.

http://forumtreff.pytalhost.de/p12#Hallo-Welt - Ruft diejenige Threadseite auf, wo der Beitrag mit dem Anker Namens "Hallo-Welt" ist; und scrollt zur Position dieses gesetzten Ankers hin. Die Angabe der Beitrags-ID muss richtig sein. Auch Unterstriche _ sind für den Ankernamen erlaubt.

Code: Alles auswählen

RewriteRule ^(a/)?b([0-9]+)$ http://forumtreff.pytalhost.de/$1viewtopic.php?p=$2#p$2 [NE,L]
http://forumtreff.pytalhost.de/b12 - Ruft diejenige Threadseite mit Anker auf, wo Beitrag 12 ist.

http://forumtreff.pytalhost.de/b12#Hallo-Welt - Ruft diejenige Threadseite auf, wo der Beitrag mit dem Anker Namens "Hallo-Welt" ist; und scrollt zu dem Beitrag hin, wo der Anker ist.

Code: Alles auswählen

RewriteRule ^(a/)?l([0-9]+)$ http://forumtreff.pytalhost.de/a/viewtopic.php?p=$2 [L]
http://forumtreff.pytalhost.de/l12 - Ruft den Beitrag 12 separat auf; mit der Einstellung ein Beitrag je Threadseite. 'l' wie 'Link'. Besonders geeignet ist diese Schreibweise, wenn man mal fix einen Beitrag als einzelnen Beitrag irgendwo verlinken will. Darüber hinaus bewirkt auch /a unmittelbar hinter der Domain, in Verbindung mit einer anderen Verlinkungsweise, dass mit einem Beitrag je Threadseite aufgerufen wird.

http://forumtreff.pytalhost.de/l12#Hallo-Welt - Ruft diejenige Threadseite auf, mit der Einstellung ein Beitrag je Threadseite, wo der Beitrag mit dem Anker Namens "Hallo-Welt" ist; und scrollt zur Position des gesetzten Ankers hin.

Code: Alles auswählen

RewriteRule ^(a/)?a([0-9]+)$ http://forumtreff.pytalhost.de/a/viewtopic.php?p=$2#p$2 [NE,L]
http://forumtreff.pytalhost.de/a12 - Ruft den Beitrag 12 separat mit Anker auf; mit der Einstellung ein Beitrag je Threadseite. 'a' wie 'Anker'.

http://forumtreff.pytalhost.de/a12#Hallo-Welt - Ruft diejenige Threadseite auf, mit der Einstellung ein Beitrag je Threadseite, wo der Beitrag mit dem Anker Namens "Hallo-Welt" ist; und scrollt zu dem Beitrag hin, wo der Anker ist.

Code: Alles auswählen

RewriteRule ^(a/)?f([0-9]+)t([0-9]+)$ $1viewtopic.php?f=$2&t=$3 [L]
http://forumtreff.pytalhost.de/f10t9 - Ruft den Thread 9 auf.

Code: Alles auswählen

RewriteRule ^(a/)?f([0-9]+)t([0-9]+)p([0-9]+)$ $1viewtopic.php?f=$2&t=$3&p=$4 [L]
http://forumtreff.pytalhost.de/f10t9p12 - Ruft diejenige Threadseite auf, wo Beitrag 12 ist. 'p' wie 'post'.

Code: Alles auswählen

RewriteRule ^(a/)?f([0-9]+)t([0-9]+)b([0-9]+)$ http://forumtreff.pytalhost.de/$1viewtopic.php?f=$2&t=$3&p=$4#p$4 [NE,L]
http://forumtreff.pytalhost.de/f10t9b12 - Das gleiche, aber mit Anker. 'b' wie 'Beitrag'.

Code: Alles auswählen

RewriteRule ^(a/)?f([0-9]+)p([0-9]+)$ $1viewtopic.php?f=$2&p=$3 [L]
http://forumtreff.pytalhost.de/f10p12 - Ruft diejenige Threadseite auf, wo Beitrag 12 ist.

Code: Alles auswählen

RewriteRule ^(a/)?f([0-9]+)b([0-9]+)$ http://forumtreff.pytalhost.de/$1viewtopic.php?f=$2&p=$3#p$3 [NE,L]
http://forumtreff.pytalhost.de/f10b12 - Das gleiche, aber mit Anker.

Code: Alles auswählen

RewriteRule ^(a/)?t([0-9]+)$ $1viewtopic.php?t=$2 [L]
http://forumtreff.pytalhost.de/t9 - Ruft den Thread 9 auf.

Code: Alles auswählen

RewriteRule ^(a/)?t([0-9]+)p([0-9]+)$ $1viewtopic.php?t=$2&p=$3 [L]
http://forumtreff.pytalhost.de/t9p12 - Ruft diejenige Threadseite auf, wo Beitrag 12 ist.

Code: Alles auswählen

RewriteRule ^(a/)?t([0-9]+)b([0-9]+)$ http://forumtreff.pytalhost.de/$1viewtopic.php?t=$2&p=$3#p$3 [NE,L]
http://forumtreff.pytalhost.de/t9b12 - Das gleiche, aber mit Anker.

Code: Alles auswählen

RewriteRule ^(a/)?htm([0-9]+)$ $1viewtopic.php?p=$2 [L]
http://forumtreff.pytalhost.de/htm12 - Ruft diejenige Threadseite auf, wo Beitrag 12 ist.

Code: Alles auswählen

RewriteRule ^(a/)?html([0-9]+)$ http://forumtreff.pytalhost.de/$1viewtopic.php?p=$2#p$2 [NE,L]
http://forumtreff.pytalhost.de/html12 - Ruft auch den Beitrag 12 auf, aber mit Anker.

Code: Alles auswählen

RewriteRule ^(a/)?([0-9]+)\.html?$ $1viewtopic.php?t=$2 [L]
http://forumtreff.pytalhost.de/9.htm - und
http://forumtreff.pytalhost.de/9.html - rufen beide jeweils den Thread 9 auf.

Code: Alles auswählen

RewriteRule ^(a/)?([0-9]+)\.htm([0-9]+)$ $1viewtopic.php?t=$2&p=$3 [L]
http://forumtreff.pytalhost.de/9.htm12 - Ruft diejenige Threadseite auf, wo Beitrag 12 ist.

Code: Alles auswählen

RewriteRule ^(a/)?([0-9]+)\.html([0-9]+)$ http://forumtreff.pytalhost.de/$1viewtopic.php?t=$2&p=$3#p$3 [NE,L]
http://forumtreff.pytalhost.de/9.html12 - Ruft auch Beitrag 12 auf, aber mit Anker.

Code: Alles auswählen

RewriteRule ^(a/)?([0-9]+)/([0-9]+)\.html?$ http://forumtreff.pytalhost.de/$1viewtopic.php?f=$2&t=$3 [L]
http://forumtreff.pytalhost.de/10/9.htm - und
http://forumtreff.pytalhost.de/10/9.html - rufen jeweils den Thread 9 auf.

Code: Alles auswählen

RewriteRule ^(a/)?([0-9]+)/([0-9]+)\.htm([0-9]+)$ http://forumtreff.pytalhost.de/$1viewtopic.php?f=$2&t=$3&p=$4 [L]
http://forumtreff.pytalhost.de/10/9.htm12 - Ruft diejenige Threadseite auf, wo Beitrag 12 ist.

Code: Alles auswählen

RewriteRule ^(a/)?([0-9]+)/([0-9]+)\.html([0-9]+)$ http://forumtreff.pytalhost.de/$1viewtopic.php?f=$2&t=$3&p=$4#p$4 [NE,L]
http://forumtreff.pytalhost.de/10/9.html12 - Ruft auch Beitrag 12 auf, aber mit Anker.

Code: Alles auswählen

RewriteRule ^(a/)?([0-9]+)/htm([0-9]+)$ http://forumtreff.pytalhost.de/$1viewtopic.php?f=$2&p=$3 [L]
http://forumtreff.pytalhost.de/10/htm12 - Ruft diejenige Threadseite auf, wo Beitrag 12 ist.

Code: Alles auswählen

RewriteRule ^(a/)?([0-9]+)/html([0-9]+)$ http://forumtreff.pytalhost.de/$1viewtopic.php?f=$2&p=$3#p$3 [NE,L]
http://forumtreff.pytalhost.de/10/html12 - Ruft auch Beitrag 12 auf, aber mit Anker.

Code: Alles auswählen

RewriteRule ^(a/)?u([0-9]+)$ $1memberlist.php?mode=viewprofile&u=$2 [L]
http://forumtreff.pytalhost.de/u2 - Ruft das Profil des Users 2 auf.

Code: Alles auswählen

RewriteRule ^b/?$ http://forumtreff.pytalhost.de/ [L]
http://forumtreff.pytalhost.de/b - und
http://forumtreff.pytalhost.de/b/ - rufen beide die Domain http://forumtreff.pytalhost.de/ auf, zumindest müsste es so sein. Warum aber die Umwandlung durch eine andere RewriteRule fortgesetzt wird, obwohl [L] angegeben ist, wodurch zum Begrüßungsthread weitergeleitet wird, kann ich mir nicht erklären.

Die Angabe des Ordners a/ bewirkt ein Beitrag je Threadseite. Ordner b/ würde 10 Beiträge je Threadseite bedeuten. Falls jemand den Ordner b/ angibt, wird auf die Installation umgeleitet, die direkt auf der Domain installiert ist, bei der 10 Beiträge je Threadseite eingestellt ist.

Code: Alles auswählen

RewriteRule ^b/([^al].*) http://forumtreff.pytalhost.de/$1
Diese Umleitungsanweisung beseitigt die Angabe des Ordners b/ bei allen Aufrufen. Danach kann diese URL ggf. von einer der anderen Umwandlungsanweisungen weiter umgewandelt werden. Deswegen fehlt hier das abschließende [L].

Es darf aber hinter der Angabe des Ordners b kein a und kein l folgen, weil diese beiden Angaben jeweils einen Beitrag je Threadseite bedeuten, was ein logischer Widerspruch wäre. Und hier noch mal zusammenfassend, was ich in der .htaccess angefügt habe bei der normalen Nicht-SEO-Version des phoBB3:

Code: Alles auswählen

RewriteEngine On
RewriteBase /
RewriteRule ^(a/)?$ $1viewtopic.php?t=1 [L]
RewriteRule ^(a/)?i(ndex)?$ $1index.php [L]
RewriteRule ^(a/)?([0-9]+)$ $1viewtopic.php?t=$2 [L]
RewriteRule ^(a/)?f([0-9]+)$ $1viewforum.php?f=$2 [L]
RewriteRule ^(a/)?p([0-9]+)$ $1viewtopic.php?p=$2 [L]
RewriteRule ^(a/)?b([0-9]+)$ http://forumtreff.pytalhost.de/$1viewtopic.php?p=$2#p$2 [NE,L]
RewriteRule ^(a/)?l([0-9]+)$ a/viewtopic.php?p=$2 [L]
RewriteRule ^(a/)?a([0-9]+)$ http://forumtreff.pytalhost.de/a/viewtopic.php?p=$2#p$2 [NE,L]
RewriteRule ^(a/)?f([0-9]+)t([0-9]+)$ $1viewtopic.php?f=$2&t=$3 [L]
RewriteRule ^(a/)?f([0-9]+)t([0-9]+)p([0-9]+)$ $1viewtopic.php?f=$2&t=$3&p=$4 [L]
RewriteRule ^(a/)?f([0-9]+)t([0-9]+)b([0-9]+)$ http://forumtreff.pytalhost.de/$1viewtopic.php?f=$2&t=$3&p=$4#p$4 [NE,L]
RewriteRule ^(a/)?f([0-9]+)p([0-9]+)$ $1viewtopic.php?f=$2&p=$3 [L]
RewriteRule ^(a/)?f([0-9]+)b([0-9]+)$ http://forumtreff.pytalhost.de/$1viewtopic.php?f=$2&p=$3#p$3 [NE,L]
RewriteRule ^(a/)?t([0-9]+)$ $1viewtopic.php?t=$2 [L]
RewriteRule ^(a/)?t([0-9]+)p([0-9]+)$ $1viewtopic.php?t=$2&p=$3 [L]
RewriteRule ^(a/)?t([0-9]+)b([0-9]+)$ http://forumtreff.pytalhost.de/$1viewtopic.php?t=$2&p=$3#p$3 [NE,L]
RewriteRule ^(a/)?htm([0-9]+)$ $1viewtopic.php?p=$2 [L]
RewriteRule ^(a/)?html([0-9]+)$ http://forumtreff.pytalhost.de/$1viewtopic.php?p=$2#p$2 [NE,L]
RewriteRule ^(a/)?([0-9]+)\.html?$ $1viewtopic.php?t=$2 [L]
RewriteRule ^(a/)?([0-9]+)\.htm([0-9]+)$ $1viewtopic.php?t=$2&p=$3 [L]
RewriteRule ^(a/)?([0-9]+)\.html([0-9]+)$ http://forumtreff.pytalhost.de/$1viewtopic.php?t=$2&p=$3#p$3 [NE,L]
RewriteRule ^(a/)?([0-9]+)/([0-9]+)\.html?$ http://forumtreff.pytalhost.de/$1viewtopic.php?f=$2&t=$3 [L]
RewriteRule ^(a/)?([0-9]+)/([0-9]+)\.htm([0-9]+)$ http://forumtreff.pytalhost.de/$1viewtopic.php?f=$2&t=$3&p=$4 [L]
RewriteRule ^(a/)?([0-9]+)/([0-9]+)\.html([0-9]+)$ http://forumtreff.pytalhost.de/$1viewtopic.php?f=$2&t=$3&p=$4#p$4 [NE,L]
RewriteRule ^(a/)?([0-9]+)/htm([0-9]+)$ http://forumtreff.pytalhost.de/$1viewtopic.php?f=$2&p=$3 [L]
RewriteRule ^(a/)?([0-9]+)/html([0-9]+)$ http://forumtreff.pytalhost.de/$1viewtopic.php?f=$2&p=$3#p$3 [NE,L]
RewriteRule ^(a/)?u([0-9]+)$ $1memberlist.php?mode=viewprofile&u=$2 [L]
RewriteRule ^b/?$ http://forumtreff.pytalhost.de/ [L]
RewriteRule ^b/([^al].*) http://forumtreff.pytalhost.de/$1 [NE]
In meinem Forum habe ich das hier: Klick! verkürzt und übersichtlicher dargestellt. Wer sein Forum nicht mit zwei Installationen auf denselben Datenbankzeilen arbeiten lässt, sondern es nur einmal installiert hat, der kann nachfolgendes in die .htaccess einfügen. Natürlich muss >forumtreff.pytalhost.de< durch die eigene Domain ersetzt werden.

Code: Alles auswählen

RewriteEngine On 
RewriteBase / 
RewriteRule ^$ viewtopic.php?t=1 [L]
RewriteRule ^i(ndex)?$ index.php [L]
RewriteRule ^([0-9]+)$ viewtopic.php?t=$1 [L]
RewriteRule ^f([0-9]+)$ viewforum.php?f=$1 [L]
RewriteRule ^p([0-9]+)$ viewtopic.php?p=$1 [L]
RewriteRule ^b([0-9]+)$ http://forumtreff.pytalhost.de/viewtopic.php?p=$1#p$1 [NE,L]
RewriteRule ^f([0-9]+)t([0-9]+)$ viewtopic.php?f=$1&t=$2 [L]
RewriteRule ^f([0-9]+)t([0-9]+)p([0-9]+)$ viewtopic.php?f=$1&t=$2&p=$3 [L]
RewriteRule ^f([0-9]+)t([0-9]+)b([0-9]+)$ http://forumtreff.pytalhost.de/viewtopic.php?f=$1&t=$2&p=$3#p$3 [NE,L]
RewriteRule ^f([0-9]+)p([0-9]+)$ viewtopic.php?f=$1&p=$2 [L]
RewriteRule ^f([0-9]+)b([0-9]+)$ http://forumtreff.pytalhost.de/viewtopic.php?f=$1&p=$2#p$2 [NE,L]
RewriteRule ^t([0-9]+)$ viewtopic.php?t=$1 [L]
RewriteRule ^t([0-9]+)p([0-9]+)$ viewtopic.php?t=$1&p=$2 [L]
RewriteRule ^t([0-9]+)b([0-9]+)$ http://forumtreff.pytalhost.de/viewtopic.php?t=$1&p=$2#p$2 [NE,L]
RewriteRule ^htm([0-9]+)$ viewtopic.php?p=$1 [L]
RewriteRule ^html([0-9]+)$ http://forumtreff.pytalhost.de/viewtopic.php?p=$1#p$1 [NE,L]
RewriteRule ^([0-9]+)\.html?$ viewtopic.php?t=$1 [L]
RewriteRule ^([0-9]+)\.htm([0-9]+)$ viewtopic.php?t=$1&p=$2 [L]
RewriteRule ^([0-9]+)\.html([0-9]+)$ http://forumtreff.pytalhost.de/viewtopic.php?t=$1&p=$2#p$2 [NE,L]
RewriteRule ^([0-9]+)/([0-9]+)\.html?$ http://forumtreff.pytalhost.de/viewtopic.php?f=$1&t=$2 [L]
RewriteRule ^([0-9]+)/([0-9]+)\.htm([0-9]+)$ http://forumtreff.pytalhost.de/viewtopic.php?f=$1&t=$2&p=$3 [L]
RewriteRule ^([0-9]+)/([0-9]+)\.html([0-9]+)$ http://forumtreff.pytalhost.de/viewtopic.php?f=$1&t=$2&p=$3#p$3 [NE,L]
RewriteRule ^([0-9]+)/htm([0-9]+)$ http://forumtreff.pytalhost.de/viewtopic.php?f=$1&p=$2 [L]
RewriteRule ^([0-9]+)/html([0-9]+)$ http://forumtreff.pytalhost.de/viewtopic.php?f=$1&p=$2#p$2 [NE,L]
RewriteRule ^u([0-9]+)$ memberlist.php?mode=viewprofile&u=$1 [L]
Und falls jemand erst die Variante mit den zwei Installationen hatte, dann aber nur noch eine; also dass der User nicht mehr die Anzahl der Beiträge je Threadseite wählen kann; sollten auch nachfolgende 6 Umwandlungsbefehle eingetragen werden; die bewirken, dass auch alle in irgendwelchen Beiträgen oder Webseiten vorhandenen kurzen URLs (die in diesem Fall einen Beitrag je Seite aufrufen sollen), dann auch noch aufgerufen werden können.

Code: Alles auswählen

RewriteRule ^l([0-9]+)$ viewtopic.php?p=$1 [L]
RewriteRule ^a([0-9]+)$ http://forumtreff.pytalhost.de/viewtopic.php?p=$1#p$1 [NE,L]
RewriteRule ^a/?$ http://forumtreff.pytalhost.de/ [L]
RewriteRule ^a/(..*) http://forumtreff.pytalhost.de/$1 [NE]
RewriteRule ^b/?$ http://forumtreff.pytalhost.de/ [L]
RewriteRule ^b/([^al].*) http://forumtreff.pytalhost.de/$1 [NE]
ACHTUNG! Alle BB-Codes für Links werde ich noch überarbeiten. Inzwischen habe ich einen universellen BB-Code geschrieben für interne und externe Links. Der systemeigene BB-Code URL kann dies zwar auch. Aber für kurze interne Links, die man mit entsprechenden Einträgen in der .htaccess realisiert, funktioniert dieser nicht; nachfolgender aber schon. Übrigens dachte ich mir, 'v' wie Verweis.

Code: Alles auswählen

Universeller Textlink für interne und externe Links mit Linkname und Tooltipanzeige: [v=Webadresse-oder-Thread-oder Beitrags-ID]Linktext[/v] Anstatt Text kann für den Linknamen auch eine Grafik verwendet werden

[v={TEXT}]{TEXT1}[/v]

<a href="{TEXT}" title="Klicke hier, um zum Beitrag, Thread oder externen Webseite {TEXT} zu gelangen!" target="_blank"><span style="color: #105289"; text-decoration:underline">{TEXT1}</span></a>
Weil das System selbst keine solchen kurzen URLs anzeigen kann, habe ich entsprechende BB-Codes geschrieben, mit denen der User ganz einfach Links in seinen Beiträgen einfügen kann, wo man sogar einen Tooltip (Quickinfo bzw. Kurzinfo) hinter der URL, getrennt durch eine Leerstelle, angeben kann. Das ist dieses kleine Info-Fensterchen, wenn man mit dem Mauspfeil darauf zeigt.

Man muss es aber nicht einfügen. Diese Leerstelle muss aber in jedem Fall hinter der URL sein. Der ersten BB-Code ist insbesondere für externe Links gedacht. Deswegen erzeugt er blaue Links. Kann aber auch für interne Links verwendet werden. Dann braucht aber die URL nur relativ angegeben werden, also ohne Domain.

Die anderen BB-Codes sind nur für interne Links gedacht, deswegen sind diese dunkelgrün. Bei diesen braucht die interne URL nicht angegeben werden, sondern nur die entsprechende ID-Nummer des Beitrags (p,b,l,a), Threads (t) oder Forums/Kategorie (f). Der User kann aber durch zusätzliche Anwendung des BB-Codes eine andere Farbe für den Link einstellen.

Die sonst übliche Farbe blau konnte ich für Links für mein Forum nicht verwenden, weil der Text in meinem Forum schon dunkelblau ist, wenn ich nach allen Beiträgen suche; und dann blaue Links nicht mehr genügend farblich hervorgehoben wären. Siehe hier, hier und hier bei diesem Beitrag unten.

Natürlich sind diejenigen Links, die nur je einen Beitrag je Threadseite anzeigen lassen, nur für diejenigen Foren gedacht, die das wahlweise auch so anzeigen können: Klick!. Und natürlich muss die .htaccess auch entsprechend auf kurze URLs angepasst sein, wie zuvor beschrieben. Diese BB-Codes könnte man aber auch so entsprechend anpassen, dass diese auch ohne diese kurzen URLs funktionieren.

Code: Alles auswählen

Externer Link mit Linkname und Tooltipname: [le=Link-Url Tooltipname]Linktext[/le] Zwischen Url und Tooltipname eine Leerstelle. Falls kein Tooltipname angegeben wird, unbedingt Leerstelle hinter der Url

[le={URL} {TEXT}]{TEXT1}[/le]

<a href="{URL}" title="{TEXT}" target="_blank"><span style="color: #105289"; text-decoration:underline">{TEXT1}</span></a>
Oder mit fest eingestellter Tooltipanzeige (einfachere Nutzung):

Code: Alles auswählen

Externer Textlink mit Linkname und Tooltipanzeige: [le=Webadresse]Linktext[/le]

[le={URL}]{TEXT}[/le]

<a href="{URL}" title="Klicke hier, um zur Webseite {URL} zu gelangen!" target="_blank"><span style="color: #105289"; text-decoration:underline">{TEXT}</span></a>

Code: Alles auswählen

Externer Grafik-Link mit Tooltipname: [lge=Link-Url Tooltipname]Grafik-Url[/lge] Zwischen Url und Tooltipname eine Leerstelle. Falls kein Tooltipname angegeben wird, unbedingt Leerstelle hinter der Url

[lge={URL} {TEXT}]{URL1}[/lge]

<a href="{URL}" title="{TEXT}" target="_blank"><IMG src="{URL1}"></a> oder
<a href="{URL}" target="_blank"><IMG alt="{TEXT}" src="{URL1}"></a> (egal)
Bei allen BB-Codes, wo nicht "ein Beitrag je Threadseite" angegeben ist, wird ein Link mit 10 Beiträgen je Threadseite erzeugt, falls das im Adminbereich so eingestellt ist.

Code: Alles auswählen

Link zum Beitrag ohne Anker: [lp=Beitags-ID Tooltipname]Linktext[/lp] Zwischen Beitrags-ID und Tooltipname eine Leerstelle. Falls kein Tooltipname angegeben wird, unbedingt Leerstelle hinter der Url

[lp={NUMBER} {TEXT}]{TEXT1}[/lp]

<a href="./p{NUMBER}" title="{TEXT}" target="_blank"><span style="color:#008000; text-decoration:underline">{TEXT1}</span></a>

Code: Alles auswählen

Link zum Beitrag mit Anker: [lb=Beitags-ID Tooltipname]Linktext[/lb] Zwischen Beitrags-ID und Tooltipname eine Leerstelle. Falls kein Tooltipname angegeben wird, unbedingt Leerstelle hinter der Url

[lb={NUMBER} {TEXT}]{TEXT1}[/lb]

<a href="./b{NUMBER}" title="{TEXT}" target="_blank"><span style="color:#008000; text-decoration:underline">{TEXT1}</span></a>

Code: Alles auswählen

Link zum Beitrag ohne Anker, ein Beitrag je Threadseite: [lap=Beitags-ID Tooltipname]Linktext[/lap] Zwischen Beitrags-ID und Tooltipname eine Leerstelle. Falls kein Tooltipname angegeben wird, unbedingt Leerstelle hinter der Url

[lap={NUMBER} {TEXT}]{TEXT1}[/lap]

<a href="http://forumtreff.pytalhost.de/a/p{NUMBER}" title="{TEXT}" target="_blank"><span style="color:#008000; text-decoration:underline">{TEXT1}</span></a>

Code: Alles auswählen

Link zum Beitrag mit Anker, ein Beitrag je Threadseite: [lab=Beitags-ID Tooltipname]Linktext[/lab] Zwischen Beitrags-ID und Tooltipname eine Leerstelle. Falls kein Tooltipname angegeben wird, unbedingt Leerstelle hinter der Url

[lab={NUMBER} {TEXT}]{TEXT1}[/lab]

<a href="http://forumtreff.pytalhost.de/a/b{NUMBER}" title="{TEXT}" target="_blank"><span style="color:#008000"; text-decoration:underline">{TEXT1}</span></a>
Bei vorigen zwei BB-Codes wurde der interne Links jeweils so erzeugt, dass bei der URL des Beitrag der Ordner /a/ vorangestellt wird, wodurch das ganze System dann auf eine Beitrag je Threadseite eingestellt ist nach dem Aufruf des Beitrags. Nachfolgende zwei BB-Codes erzeugen aber jeweils eine URL, wo der Ordner /a/ nicht in der URL erscheint, sondern der Beitrag zwar erst mal einzeln angezeigt wird, aber des System ist sonst trotzdem auf 10 Beiträge je Threadseite eingestellt. Nach dem Klick auf irgendeinen Link werden wieder jeweils 10 Beiträge je Threadseite angezeigt.

Code: Alles auswählen

Link zum Beitrag ohne Anker: [ll=Beitags-ID Tooltipname]Linktext[/ll] Zwischen Beitrags-ID und Tooltipname eine Leerstelle. Falls kein Tooltipname angegeben wird, unbedingt Leerstelle hinter der Url

[ll={NUMBER} {TEXT}]{TEXT1}[/ll]

<a href="./l{NUMBER}" title="{TEXT}" target="_blank"><span style="color:#008000; text-decoration:underline">{TEXT1}</span></a>

Code: Alles auswählen

Link zum Beitrag mit Anker: [la=Beitags-ID Tooltipname]Linktext[/la] Zwischen Beitrags-ID und Tooltipname eine Leerstelle. Falls kein Tooltipname angegeben wird, unbedingt Leerstelle hinter der Url

[la={NUMBER} {TEXT}]{TEXT1}[/la]

<a href="./a{NUMBER}" title="{TEXT}" target="_blank"><span style="color:#008000; text-decoration:underline">{TEXT1}</span></a>

Code: Alles auswählen

Link zum Thread (Thema) oder anderer interner Link: [lt=Thread-ID oder andere relative Url Tooltipname]Linktext[/lt] Zwischen Thread-ID und Tooltipname eine Leerstelle. Falls kein Tooltipname angegeben wird, unbedingt Leerstelle hinter der Url

[lt={LOCAL_URL} {TEXT}]{TEXT1}[/lt]

<a href="{LOCAL_URL}" title="{TEXT}" target="_blank"><span style="color:#008000; text-decoration:underline">{TEXT1}</span></a>

Code: Alles auswählen

Link zum Thread oder anderer interner Link, 1 Beitrag je Threadseite [lta=Thread-ID Tooltipname]Linktext[/lta] Zwischen Thread-ID und Tooltipname Leerstelle! Falls ohne Tooltipname unbedingt Leerstelle hinter der Url! Interner Link ohne Ordner a/ angeben!

[lta={LOCAL_URL} {TEXT}]{TEXT1}[/lta]

<a href="http://forumtreff.pytalhost.de/a/{LOCAL_URL}" title="{TEXT}" target="_blank"><span style="color:#008000; text-decoration:underline">{TEXT1}</span></a>

Code: Alles auswählen

Link zum Forum: [lf=Forums-ID Tooltipname]Linktext[/lf] Zwischen Forums-ID und Tooltipname eine Leerstelle. Falls kein Tooltipname angegeben wird, unbedingt Leerstelle hinter der Url

[lf={NUMBER} {TEXT}]{TEXT1}[/lf]

<a href="./f{NUMBER}" title="{TEXT}" target="_blank"><span style="color:#008000; text-decoration:underline">{TEXT1}</span></a>

Code: Alles auswählen

Link zum Forum, ein Beitrag je Threadseite: [lfa=Forums-ID Tooltipname]Linktext[/lfa] Zwischen Forums-ID und Tooltipname eine Leerstelle. Falls kein Tooltipname angegeben wird, unbedingt Leerstelle hinter der Url

[lfa={NUMBER} {TEXT}]{TEXT1}[/lfa]

<a href="http://forumtreff.pytalhost.de/a/f{NUMBER}" title="{TEXT}" target="_blank"><span style="color:#008000; text-decoration:underline">{TEXT1}</span></a>

Code: Alles auswählen

Link zum Userprofil: [lu=User-ID Tooltipname]Linktext[/lu] Zwischen User-ID und Tooltipname eine Leerstelle. Falls kein Tooltipname angegeben wird, unbedingt Leerstelle hinter der Url

[lu={NUMBER} {TEXT}]{TEXT1}[/lu]

<a href="./u{NUMBER}" title="{TEXT}" target="_blank"><span style="color:#008000; text-decoration:underline">{TEXT1}</span></a>

Code: Alles auswählen

Link zum Userprofil, ein Beitrag je Threadseite: [lua=User-ID Tooltipname]Linktext[/lua] Zwischen User-ID und Tooltipname eine Leerstelle. Falls kein Tooltipname angegeben wird, unbedingt Leerstelle hinter der Url

[lua={NUMBER} {TEXT}]{TEXT1}[/lua]

<a href="http://forumtreff.pytalhost.de/a/u{NUMBER}" title="{TEXT}" target="_blank"><span style="color:#008000; text-decoration:underline">{TEXT1}</span></a>
Zuletzt geändert von dieweltist am 04.02.2009 18:59, insgesamt 13-mal geändert.
Benutzeravatar
dieweltist
Mitglied
Beiträge: 1966
Registriert: 25.07.2006 13:28
Wohnort: Thüringen
Kontaktdaten:

Beitrag von dieweltist »

Weil externe Links mit dem ersten BB-Code [link=] dunkelrot erscheinen, kann oder sollte man vielleicht auch alle anderen externen Links auch dunkelrot erscheinen lassen. Wenn man also einfach eine externe URL in den Beitragstext einfügt und diese dann automatisch in einen Link umgewandelt wird. Oder wenn man einen Link mit dem BB-Code erzeugt. Das kann man bspw. bei prosilver im Adminbereich unter >STYLES - Themes - prosilver - ändern< unter

Code: Alles auswählen

--------------------------------------------------------------
Colours and backgrounds for links.css
--------------------------------------------------------------
von blau zu diesem dunkelrot ändern:

Code: Alles auswählen

a:link	{ color: #0B3960; } => #aa0000 (noch nicht aufgerufene Links)

Code: Alles auswählen

postlink:visited {
	color: #5D8FBD; => #aa0000 (Schriftfarbe - dunkelrot, bereits angeklickte Links)
	border-bottom-color: #666666; => #aa0000 (Strichpunktlinie darunter - dunkelrot)

Code: Alles auswählen

.postlink:active {
	color: #368AD2; => #aa0000 (von noch nicht angeklickten Links die Unterstreichung)

Code: Alles auswählen

.postlink:hover {
	background-color: #D0E4F6; => gewünschte Farbe für Hintergrund beim darauf zeigen. Bspw. 'transparent'.
	color: #0D4473; => #800000 (Schriftfarbe beim darauf zeigen etwas dunkler als dunkelrot)
Falls man eine interne URL in einen Beitrag einfügt, erscheint nur der relative Teil dunkelblau. Leider weiß ich keine Möglichkeit, wie man diese Farbe in dunkelgrün ändern könnte, denn dadurch würden unvermeidlich auch einige andere interne Systemlinks dunkelgrün werden, wenn man das jeweils rechts neben a:visited, a:active und a:hover ändern würde.

Code: Alles auswählen

a:visited	{ color: #0B3960; } => #008000
a:active	{ color: #368AD2; } => #008000
a:hover	{ color: #0B3960; } => #008000
Man müsste meinen, dass, wenn man die Farbe für .postlink:active ändert, dass man dadurch die Farbe des bisher noch nicht angeklickten Links ändert. In Wirklichkeit ändert sich aber nur die Farbe der Unterstreichung. Die gewünschte Änderung, und leider nicht nur diese, erreicht man seltsamer Weise bei a:link.

Wenn man die Farbe rechts neben a:link ändert (bisher noch nicht angeklickte Links), ändert sich dadurch leider auch die Farbe für einige der obigen internen Systemlinks "0 neue Nachrichten", "Eigene Beiträge", "Abmelden [ ... ]" und "Moderations-Bereich". Beim FireFox sind dadurch zudem auch die internen Links "Persönlicher Bereich", "FAQ" und "Mitglieder" in diesem Fall dunkelrot gefärbt.
Halligen
Mitglied
Beiträge: 2
Registriert: 25.03.2008 21:36

Beitrag von Halligen »

Ich habe bei mir im Forum versucht, die Farbe der Links zu ändern und bin nach langer Forensuche auf diesen Thread hier gekommen.

Mein Problem ist, daß die Änderungen der Farben nicht übernommen bzw. dargestellt werden.

Folgendes habe ich schon probiert:

1)
Editor unter Prosilver im Adminbereich benutzt (STYLES - Themes - prosilver --> ändern), um wie im Beitrag vor mir die Farben im bereich "Colours and backgrounds for links.css " einzutragen.

Ergebnis: nach "Absenden" waren die alten Werte wieder da.
Im Forum: keine Veränderung.

2) danach das selbe in der colors.css gemacht (weil ich dachte, diese überschreibt ggf. die geänderten Daten wieder). Da standen noch die alte Werte drin, also runtergeladen, geändert, wieder hochgeladen.

Ergebins:Editor unter Prosilver im Adminbereich zeigt die neuen Werte jetzt an.
Im Forum: keine Veränderung.

Welchen Trick kann ich noch versuchen?

Ach ja: Foren-Cache ist geleert worden und Browercache auch.

Gruß, Halligen
Benutzeravatar
Metzle
Ehemaliges Teammitglied
Beiträge: 10435
Registriert: 08.03.2008 02:50
Wohnort: Waiblingen-Neustadt
Kontaktdaten:

Beitrag von Metzle »

Hallo,

du musst das Theme noch aktualisieren.
Metzle
phpBB.de-Support-Team
Allround-phpBB.de
Benutzeravatar
dieweltist
Mitglied
Beiträge: 1966
Registriert: 25.07.2006 13:28
Wohnort: Thüringen
Kontaktdaten:

Beitrag von dieweltist »

Nachdem man über den Adminbereich was bei den Themes verändert und abgesendet hat, muss es auch spätestens nach der Löschung des Forencaches (oder man hat im ACP unter 'Serverlast' das Rekompilieren veralteter Style-Komponenten vorübergehend auf 'ja' gesetzt) und dem Aktualisieren des Browsers wirksam sein.

Es kann also gar nicht sein, dass die alten Werte wieder da waren, nachdem Du diesen Editor im ACP wieder aufgerufen hattest. Eine Veränderung der Werte ist dann meiner Erfahrung in der CSS-Datei nicht nötig gewesen. Oder man ändert es nur in der CSS-Datei, und muss dann im Adminbereich die Theme aktualisieren.

Die Farbe von Links zu ändern, da hatte ich auch Probleme, weil manches da einfach nicht so geht, wie es soll. Siehe dazu auch diesen Thread!

Linkfarbe bisher nicht angeklickter Links ändern (prosilver) - phpBB.de

Den Tipp gegen Ende dieses Threads habe ich noch nicht ausprobiert, weil ich mich entschlossen hatte, es beim vorgegebenen Blauton zu belassen. Welchen Wert man wo im Theme-Editor ändern muss, kann man durch Probieren herausfinden (klick).

Bei dieser Gelegenheit möchte ich erwähnen, dass ich die BB-Codes für Links noch ändern werde; also ich werde weitere hinzufügen. Es wird dann jeweils welche mit und ohne Tooltipp geben. Bei den jetzigen ist die Tooltippangabe möglich, kann aber auch weggelassen werden (optional). Im letzten Fall nervt aber meines Erachtens die trotzdem nötige Leerstelle.
Benutzeravatar
Aneas
Mitglied
Beiträge: 36
Registriert: 27.02.2008 16:21
Wohnort: San Vito Chietino Italien
Kontaktdaten:

Beitrag von Aneas »

Also das ist alles nicht einfach und es funktioniert leider bei mir nicht.

Ist es denn nicht möglich einfach einen rewrite zu machen der die Forennamen und dann die Beitragsnamen in die URL schreibt?

Wenn ich deinen Code in die HTACCESS schreibe, dann ändert sich gar nichts :-(
Ich bin ein DAU ... seid gnädig!

Thema Rechtschreibung: Ich lebe seit 15 jahren in Italien - manchmal fällt sie mir schwer.
Benutzeravatar
dieweltist
Mitglied
Beiträge: 1966
Registriert: 25.07.2006 13:28
Wohnort: Thüringen
Kontaktdaten:

Beitrag von dieweltist »

Exakt diesen Code darfst Du auch nicht in die .htaccess schreiben; Du müsstest schon http://forumtreff.pytalhost.de/ durch Deine Domain ersetzen. Zudem bewirken diese Einträge nur was, wenn der Server ModRewrite ünterstützt.

Ich weiß auch nicht, was für eine Änderung Du erwartest. Diese Einträge bewirken leider nur, dass Beiträge, Threads, Foren und Userprofile mit einfacheren URLs aufgerufen werden können. Diese werden aber nicht in dieser Kurzform ausgegeben als interne Links. Dese URLs kann man nur manuell selbst schreiben. Diese Einträge bewirken aber keine Suchmaschinenfreundlichkeit; eher sogar das Gegenteil. Ein echtes SEO-phpBB3 gibt es hier: http://www.phpbb-seo.de/phpbb3/; ist aber glaube ich noch Beta.

Wenn Du bspw. im Theme-Editor im Adminbereich (STYLES - Themes - prosilver --> ändern) sämtliche Farbangaben bspw. durch die Farbe red ersetzt, das absendest, und danach das Theme nicht aktualisierst (sonst werden sämtliche Veränderungen wieder rückgängig gemacht, weil diese dann von den CSS-Dateien überschrieben werden), so erscheint das ganze Forum komplett in der Farbe rot; also auch alle Links.

Ich habe es jetzt ausprobiert und die Theme aktualisiert. Dadurch wurden alle von mir über den Adminbereich gemachten Style-Veränderungen der Theme rückgängig gemacht. Wenn man also die Veränderungen nur über den Theme-Editor im Adminbereich vornimmt, darf man dann das Theme nicht aktualisieren. Wenn man aber die Veränderungen über das Dateisystem in den CSS-Dateien vornimmt, muss man danach das Theme im Adminbereich aktualisieren, damit diese Veränderungen in den Theme-Editor und somit in die Datenbank übernommen werden.
Benutzeravatar
Aneas
Mitglied
Beiträge: 36
Registriert: 27.02.2008 16:21
Wohnort: San Vito Chietino Italien
Kontaktdaten:

Beitrag von Aneas »

Exakt diesen Code darfst Du auch nicht in die .htaccess schreiben; Du müsstest schon http://forumtreff.pytalhost.de/ durch Deine Domain ersetzen. Zudem bewirken diese Einträge nur was, wenn der Server ModRewrite ünterstützt.
Ja, das war mir klar.... Aber danke für den Hinweis :-)

Ansonsten hatte ich wohl den gesamten Threat falsch verstanden. Ich dachte man könnte damit einfach kurze SM - Freundliche URLS erzeugen...
Ich bin ein DAU ... seid gnädig!

Thema Rechtschreibung: Ich lebe seit 15 jahren in Italien - manchmal fällt sie mir schwer.
Antworten

Zurück zu „[3.0.x] Mod Suche/Anfragen“