Problem: Mod Rewrite (RegEx) und Includes

Zurzeit sehen sie so aus:

Code:
RewriteEngine On
##RewriteCond	%{REQUEST_URI}	!-f
##RewriteCond	%{REQUEST_URI}	!-d

##RewriteEngine	^([^/]+)/$	/index.php?mode=$1	[L]

RewriteRule ^/([_a-z*])/([_a-z*])/([_a-z*])/([0-9])/([0-9]+)/$ index.php?mode=$1&action=$2&admin=$3&id=$4&commentid=$5

Habe die Conditions auskommentiert, damit man die Seite betrachten kann.

Notiert sind sie in einer .htaccess-Datei im Root Verzeichnis der Domäne.
 
Die regulären Ausdrücke sind nicht richtig:
Code:
RewriteEngine	On
RewriteCond	%{REQUEST_URI}	!-f
RewriteCond	%{REQUEST_URI}	!-d
RewriteRule	^([^/]+)/$						/index.php?mode=$1						[L]
RewriteRule	^([^/]+)/([^/]+)/$					/index.php?mode=$1&action=$2					[L]
RewriteRule	^([^/]+)/([^/]+)/([^/]+)/$				/index.php?mode=$1&action=$2&admin=$3				[L]
RewriteRule	^([^/]+)/([^/]+)/([^/]+)/([1-9][0-9]*)/$		/index.php?mode=$1&ation=$1&admin=$3&id=$4			[L]
RewriteRule	^([^/]+)/([^/]+)/([^/]+)/([1-9][0-9]*)/([1-9][0-9]*)/$	/index.php?mode=$1&action=$2&admin=$3&id=$4&commentid=$5	[L]
Bei welchem Anbieter bist du? Falls es 1&1 ist, musst du den Ausdrücken noch einen Schrägstrich voranstellen, also ^/….
 
Mein Anbieter ist "all-inkl". Werde mich gleich mal mit deinem Skript auseinander setzen ;).
 
Zuletzt bearbeitet:
Habe den Schnipsel mal so übernommen, welchen du geschrieben hast.

Wenn ich kein / verwende, erhalte ich eine leere Seite. D.h. Aus der index.php wird zwar alles angegeben im Quelltext, jedoch erhalte ich die includete Seite nicht. Im Body-Bereich steht somit nichts.
 
Weil nicht jedes Muster auf jede erlaubte Anfrage passt. Folgendes Muster wäre jedoch auch möglich:
Code:
RewriteRule	^([^/]+)(?:/([^/]+)(?:/([^/]+)(?:/([1-9][0-9]*)(?:/([1-9][0-9]*))?)?)?)?/$	/index.php?mode=$1&action=$2&admin=$3&id=$4&commentid=$5	[L]
Damit wird es jedoch auch leere Parameterwerte geben.
 
Zurück