PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : url-Umleitung mit mod_rewrite


Christopher
07.01.2006, 19:18
hallo,

bei meinen alten Forum wurden die Beiträge per WcX_showpost.php aufgerufen, doch jetzt bei vBulletin per showthread.php. Jetzt hatte ich vor per mod_rewrite WcX_showpost auf showthread umzuverlegen, doch wo ist mein Denkfehler?


RewriteBase /forum/
RewriteRule /WcX_showpost.php?t=([1-9]*) /forum/showthread.php?p=$1


Der Fehler liegt darin, sobald ich ?t=([1-9]*) dazu packe, findet er die Dateien nicht mehr (Error 404 bei WcX_showpost.php)

Gruß
Christopher

StGaensler
07.01.2006, 19:29
Ein kleiner Denkfehler: ?t=([1-9]*) - du hast die Null vergessen. Entweder du schreibst ?t=([0-9]*) (dann wäre eine Threadid mit null am Ende zulässig) oder ?t=([1-9]{1}[0-9]*) (dann ist die Null am Anfang nicht mehr zulässig).

Mit "RewriteBase" kenne ich mich nicht so gut aus. Entweder, du lässt diese weg, und probierst es noch einmal, oder du schaust mal in den Server-Log nach, auf welche Datei er zugreifen will - da erkennt man den Fehler am schnellsten.

Christopher
07.01.2006, 19:41
Ja... irgendwie sagt der Serverlog, dass die Dateien WcX_showpost.php nicht vorhanden seien, doch sobald ich wie gesagt ?t=([1-9]{1}[0-9]*) wegmache und beim showthread.php das hab dem Fragezeichen, klappt es wieder.

StGaensler
07.01.2006, 20:19
Sorry, der Fehler könnte ganz einfach zu lösen sein:
Das Fragezeichen hat im Regex-Ausdruck eine Sonderbedeutung, escape das mal:
[...]WcX_showpost.php\?t=[...]

Christopher
07.01.2006, 20:59
Klappt leider auch nicht... Hab auch nochmal gegooglt... finde dort dieses Problem auch nicht...

Gibt es vielleicht eine andere Möglichkeit?

Mystics
07.01.2006, 21:05
Die ganze Umleitung würde doch eh nichts bringen, weil die IDs komplett anders sind?

Vielleicht hilft dir das mehr (müsstest du natürlich vom Namen her noch anpassen):

http://www.vbulletin-germany.com/forum/showpost.php?p=104975&postcount=4

Onur
08.01.2006, 14:44
hast du es dann mal mit anderen pfadangaben probiert?




RewriteBase /forum/
RewriteRule /WcX_showpost.php?t=([1-9]*) /forum/showthread.php?p=$1






bedeutet IMO
domain.tld/forum/WcX_showpost.php*
wird zu
domain.tld/forum/forum/showthread.php*

sieht irgendwie nicht richtig aus finde ich ;)








außerdem gehört da noch ein $ rein, probier

RewriteBase /forum/
RewriteRule ^WcX_showpost.php?t=([1-9]*)$ showthread.php?p=$1

Christopher
08.01.2006, 20:12
Hi... Ich werd mal schaun, aber ich hab mich jetzt mit der Möglichkeit von Mystics zufrieden gegeben. Hab die beiden Dateien umbenannt und alles klappt so, wie ich es möchte :)

Gruß und Vielen Dank
Christopher