Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

Problem mit mod_rewrite und unterordner

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
Thies
PostRank 3
PostRank 3
Beiträge: 98
Registriert: 16.03.2006, 15:16
Wohnort: Stadtilm

Beitrag von Thies » 15.01.2007, 11:23

Hallo,

ich hoffe, jemand kann mir mal weiterhelfen, weil alles, was ich bisher probiert habe, klappt nicht vollständig.

Hintergrund:
Auf einer Website läuft ein PHP-CMS, deren Links ich über mod_rewrite suchmaschinenfreundlicher machen möchte. Um das zu testen, habe ich das Tool in ein separates Unterverzeichnis nochmal installiert. In diesem Unterordner habe ich eine separate .htaccess angelegt, das nur diesen Unterordner betrifft.

Folger Teil geht ohne Probleme:

Code: Alles auswählen

RewriteEngine On

###
#  Rules
###

RewriteRule ^index\.html$ /unterordner/index.php [L] 
RewriteRule ^news/([0-9]*)- /unterordner/index.php?newsid=$1 [QSA,L] 
RewriteRule ^news/index\.html$ /unterordner/index.php [L] 
RewriteRule ^news/archiv_([0-9]*)_([0-9]*)\.html$ /unterordner/index.php?archiv=$1$2 [QSA,L] 
RewriteRule ^news/archiv\.html$ /unterordner/index.php?archiv=all [QSA,L] 
RewriteRule ^lex/([a-z]{1}|0-9)\.html$ /unterordner/lexikon.php?liste=$1 [QSA,L] 
RewriteRule ^lex/(.*) /unterordner/lexikon.php?begriff=$1 [QSA,NC,L] 
RewriteRule ^lex/(.*)__([0-9]*)\.html$ /unterordner/lexikon.php?id=$2 [QSA,NC,L] 
RewriteRule ^suche\.html$ /unterordner/suche.php [L] 
RewriteRule ^suchergebnis_(.*)_(.*)\.html$ /unterordner/suche.php?suche=$1&query=$2 [L] 
RewriteRule ^guestbook/index([0-9]*)\.html$ /unterordner/guestbook.php?page=$1 [QSA,L] 
Bei folgenden Parts

Code: Alles auswählen

RewriteRule ^(.*)/archiv_([0-9]*)_([0-9]*)\.html$ $1.php?archiv=$2$3 [QSA,L] 
RewriteRule ^(.*)/archiv\.html$ $1.php?archiv=all [QSA,L] 
RewriteRule ^(.*)/index.html$ $1.php [L]
RewriteRule ^(.*)/rubrik/([0-9]*)- $1.php?cat=$2 [QSA,L] 
RewriteRule ^(.*)/([0-9]*)- $1.php?id=$2 [QSA,L] 
findet er gar nichts (Seite nicht gefunden)

Code: Alles auswählen

RewriteRule ^(.*)/archiv_([0-9]*)_([0-9]*)\.html$ /unterordner/$1.php?archiv=$2$3 [QSA,L] 
RewriteRule ^(.*)/archiv\.html$ /unterordner/$1.php?archiv=all [QSA,L] 
RewriteRule ^(.*)/index.html$ /unterordner/$1.php [L]
RewriteRule ^(.*)/rubrik/([0-9]*)- /unterordner/$1.php?cat=$2 [QSA,L] 
RewriteRule ^(.*)/([0-9]*)- /unterordner/$1.php?id=$2 [QSA,L] 
findet er ebenfalls nichts (Seite nicht gefunden)

Code: Alles auswählen

RewriteRule ^/unterordner/(.*)/archiv_([0-9]*)_([0-9]*)\.html$ /unterordner/$1.php?archiv=$2$3 [QSA,L] 
RewriteRule ^/unterordner/(.*)/archiv\.html$ /unterordner/$1.php?archiv=all [QSA,L] 
RewriteRule ^/unterordner/(.*)/index.html$ /unterordner/$1.php [L]
RewriteRule ^/unterordner/(.*)/rubrik/([0-9]*)- /unterordner/$1.php?cat=$2 [QSA,L] 
RewriteRule ^/unterordner/(.*)/([0-9]*)- /unterordner/$1.php?id=$2 [QSA,L] 
findet er zwar eine Seite, aber er überträgt die Variablen nicht. Also z.B. aus unterordner/presse/80-test.html wird nicht unterordner/presse.php?id=80 sondern nur unterordner/presse.php. Es wird kein REDIRECT_QUERY_STRING übergeben.

Wenn ich die Regeln leicht abändere in

Code: Alles auswählen

RewriteRule ^unterordner/(.*)/archiv_([0-9]*)_([0-9]*)\.html$ /unterordner/$1.php?archiv=$2$3 [QSA,L] 
RewriteRule ^unterordner/(.*)/archiv\.html$ /unterordner/$1.php?archiv=all [QSA,L] 
RewriteRule ^unterordner/(.*)/index.html$ /unterordner/$1.php [L]
RewriteRule ^unterordner/(.*)/rubrik/([0-9]*)- /unterordner/$1.php?cat=$2 [QSA,L] 
RewriteRule ^unterordner/(.*)/([0-9]*)- /unterordner/$1.php?id=$2 [QSA,L] 
also zu Beginn das ^/unterordner ändere in ^unterordner kommt das selbe Ergebnis.

Irgendwie scheine ich auf dem Schlauch zu stehen und finde den Fehler nicht. Weiss jemand einen Rat?

Danke im Voraus

Frank-Andre