Apache - RewriteRules - nochmal
Daniel_t
- webserver
Guten Morgen,
ich hab vor 3-4 Tagen eine Frage zu den Redirects gestellt, wo es darum ging, alle Anfragen auf "subordner/" und "subordner/index.htm" auf "subordner.htm" weiterzuleiten.
Hier die Lösung:
##SNIP-START
RewriteRule (.+)/$ $1.htm [L]
Alles was mindestens ein Zeichen hat und mit einem Slash endet bekommt statt dem Slash ein ".htm" und Abbruch.
RewriteRule (.+)/index.html?$ $1.htm [L]
Wenn es nicht mit einem Slash endet, und zudem mit /index.htm oder .html endet, ersetze /index.htm(l) durch ".htm"
##SNIP-END
Nun hab ich aber ein neues Problem:
Ist es möglich, diese RewriteRule nur dann auszuführen, wenn es im subordner/ "keine" index.htm gibt?
Also nur wenn keine index.htm vorhanden ist, soll er auf "subordner.htm" weiterleiten.
Baba Daniel
Moin
vielleicht hilft dir !regexp weiter?
Ich selbst hab es noch nicht gehabt aber schau mal hier
Gruß Bobby
echo $begrüßung;
Ist es möglich, diese RewriteRule nur dann auszuführen, wenn es im subordner/ "keine" index.htm gibt?
Ja, man stellt eine RewriteCond davor. Z.B. möchte man meist nicht, dass real existierende Dateien und Verzeichnisse umgeschrieben werden. Das geht so:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
echo "$verabschiedung $name";