mod_rewrite Profis gefragt

xtratz

Gesperrt
Hallo Leute,

leider bekomme ich folgendes Problem nicht alleine in den Griff.
Ich möchte diese URL:

artikel.php/xPD/33/kat_name/Backup-Software

In diese umwandeln:

artikel.html/xPD/33/kat_name/Backup-Software

Allerdings bekomme ich immer nen Error 404.
Wenn hinter artikel.html nichts steht dann gehts mit meinem Code.

Code:
RewriteEngine on
RewriteRule ^(.*).html$ $1.php

Ansonsten eben nicht.
Hat jemand ne Idee.


Gruss
 
Wo hast du denn den Code her? Der ist definitiv nicht selbst geschrieben. Du solltest dich erstmal mit den Grundlagen von regulären Ausdrücken auseinandersetzen, bevor du dich an sowas ranmachst. -> das erste Dollar-Zeichen (nach html) bedeutet, dass die Zeichenkette »html« nur am Ende eines Strings auftauchen darf – das tut sie aber in dem von dir genannten Beispiel nicht, dort taucht sie mittendrin auf.
 
… das erste Dollar-Zeichen (nach html) bedeutet, dass die Zeichenkette »html« nur am Ende eines Strings auftauchen darf
Nicht ganz: Das Muster besagt, dass ein „html“ am Ende der Zeichenkette stehen muss, der von mindestens einem oder mehr beliebiger Zeichen vorangesetzt sein müssen. Diese dürfen „html“ auch mehrfach beinhalten.


Probier mal Folgendes:
Code:
RewriteEngine	on
RewriteRule	^(.+)\.html(.*)$	$1.php$2	[L]
 
Eine Frage noch geht das jetzt auch noch so das ich ein Verzeichnis davon ausnehmen kann ?.

Also die htaccess liegt im Rootverzeichnis und ich möchte nicht das die Regel auf das Verzeichnis admin angewendet werden soll da es sonst Fehlermeldungen hagelt.


Geht das

Bin leider kein htaccess Profi.

Gruss und Danke für die Unterstützung.
 
Um generell Verzeichnisse auszuschließen, könntest du mit der „RewriteCond“-Direktive arbeiten:
Code:
RewriteCond	${REQUEST_FILENAME}	!-f
Ein einzelnes Verzeichnis auszuschließen, sollte mit Folgendem funktionieren:
Code:
RewriteCond	${REQUEST_FILENAME}	!^admin/
 
Zurück