Hi,
ich sitze hier schon seit einiger Zeit an 2 RewriteRules:
[code]RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -d
Sicherstellen, das nicht existierende Ordner “virtuell” werden
RewriteRule ^([0-9]+)-(.[^/])/([0-9]+)-(.).html$ index.php?mode=page&id=$4&cat=$2 [QSA,L]
RewriteRule ^([0-9]+)-(.[^/])/$ index.php?mode=cat&id=$1&cat_title=$2 [QSA,L]
RewriteRule (.).html$ $1.php[/code]
Das Problem:
Nun ja, die URL example.org/ordner/1-kategorie/1 … titel.html funktioniert nicht… hingegen die Kategorie selber aber ohne Probleme: example.org/ordner/1-kategorie/
Was ist an der RewriteRule falsch?
Ich hatte mal so ein ähnliches Problem, ich kann mich aber nicht erinnern, wie ich es damals gelöst habe.
Es muss an der Reihenfolge liegen, aber egal ob ich die beiden vertausche, dann funktioniert entweder nur die eine, oder die andere
lg DHMH
RewriteRule ^([0-9]+)-(.*[^/])/([0-9]+)-(.*).html$ index.php?mode=page&id=$4&cat=$2 [QSA] [OR]
RewriteRule ^([0-9]+)-(.*[^/])/$ index.php?mode=cat&id=$1&cat_title=$2 [QSA,L]
RewriteRule (.*).html$ $1.php
Geht aber leider nicht
lg DHMH
Du hast ein kleines Syntax-Problem bei deinem ursprünglichen Code:
[code]RewriteCond %{REQUEST_FILENAME} -d
Sicherstellen, das nicht existierende Ordner “virtuell” werden[/code]
Das bedeutet, dass das Verzeichnis existieren muss. Wenn die Regel nur für nicht existierende Verzeichnisse gelten soll, muss du !-d verwenden. Außerdem solltest du außerdem auf nicht existierende Datei testen: