ThWboard Support-Forum (Archiv)

Ort: / Boardübersicht / Vorschläge / Umsetzung der Codingrichtlinien und mod_rewrite


Seite 1 von 1

Reeno schrieb am 16.12.2004 um 16:56 Uhr

Hi,
ich hab das Forum etwas umgeschrieben, damit es etwas suchmaschinenfreundlicher ist. In allen URIs stehen keine Parameter mehr sondern es sieht so aus, als ob das alles Ordner wären. Anschauen könnt ihr euch das unter http://www.ashtraypunks.de/ashtray-forum/ (ist noch ziemlich leer, da die Seite erst seit ein paar Tagen online ist).
Das umschreiben dauerte ziemlich lange und da ich keine Lust hab, das bei jeder neuen Version zu machen, bitte ich euch um zwei Sachen:
1. Euren Coding Style komplett einzuhalten (v.a. der Abschnitt "[ und ]".
2. GET und POST zu trennen (wie es eigentlich auch laut RFC sein sollte).

Dann nämlich müsste ich (und andere, die das auch wollen), jeweils nur 10 Codezeilen ändern und das Ding läuft ohne Probleme mit mod_rewrite (das ist für die URIs ohne Parameter zuständig).

Sollte jemand noch Fragen haben steh ich hier gern zur Verfügung :D

Reeno

MrNase schrieb am 16.12.2004 um 17:01 Uhr

Du hast dafür so lange gebraucht? Ich hab damit mal nen Nachmittag verbracht und dann lief das ganze sogar mir noch schöneren Urls wie z.B.

12_mein-thema.html oder 1_benutzer-mrnase.html


Ich denke mal die Coding Styles sind eine gut gemeinte Sache aber wenn jemand schon freiwillig etwas fürs Forum tut dann sollte man ihn nicht einschränken. Dadurch, dass Fehler wie ein fehlendes ' beim ] jetzt ausgegeben werden, werden Benutzer zur vorsicht ermahnt :)

Reeno schrieb am 16.12.2004 um 17:06 Uhr

Ich hab es direkt über die Funktion build_link() gemacht. Also jeweils statt para=wert& erscheint para-wert/. Sobald aber ein [ oder ] in der URI auftauchte, hat es der IE in Unicode-Zeichen umgewandelt und dann hats der RegExp-Parser des Apache logischerweise nicht mehr erkannt. D.h. ich bin dann durch den gesamten Code gegangen und hab alle [ und ] in den URIs ersetzt.
Wenn also keine eckigen Klammern in den URIs stehen muss man nur die build_link() austauschen und es funktioniert.

MrNase schrieb am 16.12.2004 um 17:21 Uhr

Stichwort: mod_rewrite

Damit hättest du dir ne Stange an Arbeit ersparen können :)

Luki schrieb am 16.12.2004 um 17:26 Uhr

glaub mir build_link ist auch sehr einfach! :)

PhoenixDH schrieb am 16.12.2004 um 21:49 Uhr

Könntest du den COde evntl mal posten bitte ?

theDon schrieb am 17.12.2004 um 11:35 Uhr

Reeno postete
1. Euren Coding Style komplett einzuhalten (v.a. der Abschnitt "[ und ]".

das liegt daran, das manche teile des sources aelter sind als die style-guide.

Reeno schrieb am 17.12.2004 um 13:09 Uhr

MrNase postete
Stichwort: mod_rewrite

Damit hättest du dir ne Stange an Arbeit ersparen können :)

Ich hab mod_rewrite benutzt.
Ich wollte es mir so einfach wie möglich machen und hab nur drei Zeilen in der mod_rewrite:

RewriteRule ^ashtray-forum/(admin|templates|avatar)/(.*) /forum/$1/$2 [L]
RewriteRule ^ashtray-forum/([a-z_]+)/(.*) /forum/$1.php?g=$2 [L]
RewriteRule ^ashtray-forum/?(.*) /forum/$1 [L]

Und dann hab ich eben die build_link so abgeändert, das URIs in der Art von
http://www.ashtraypunks.de/ashtray-forum/showtopic/threadid-14/time-1103211655/ entstehen.
Rein theoretisch hätte das genügt. Da allerdings in manchen URIs eckige Klammern vorkommen und der IE das dann in Unicode übersetzt kam es häufig zu Fehlern. Also hab ich alle eckigen Klammern in URIs im Code ersetzt. Und das dauerte eben ziemlich lang, da ich ja nicht einfach nach [ und ] suchen konnte, da ich dann ja auch jeden Array gefunden hätte.

theDon schrieb am 17.12.2004 um 19:26 Uhr

hm, du haettest die natuerlich auch einfach in build_link() strippen koennen.

anyway, wenn du mir nen diff schickst, baue ich das in die naechste version mit ein. ;)

Reeno schrieb am 18.12.2004 um 15:45 Uhr

Ich glaube es würde nicht viel bringen, wenn ich dir meine Version schick, da ich ca. 80% der Dateien jeweils nur minimal geändert habe.
Wenn ich Zeit finde arbeite ichs ins CVS ein. Es sind ja immer nur kleine Änderungen.

theDon schrieb am 18.12.2004 um 19:40 Uhr

deshalb will ich doch auch einen diff haben. ;)

beyond compare zb ist da recht gut.

gilles schrieb am 20.05.2005 um 11:29 Uhr

bitte schicke mir den Code per Mail und sach mir bitte auch wie ich den dann benutze gilles@house-musik.de 1000 dank

Seite 1 von 1