Hallo Sokeking,
Geschehen soll folgendes:
im Root soll eine htaccess die url insofern überschreiben, als dass die Anfrage in eine Unterordner 'homepage' umgeleitet wird. In diesem Subfolder ist eine weitere htaccess, die dann die homepagespezifischen RewriteRules definiert. Die Files sehen so aus:enable mod_rewrite
Options +FollowSymLinks
RewriteEngine onqueries containing board are excepted by the rewrites
RewriteRule board/$ board/index.php [L]
Dafür gibt es DirectoryIndex
RewriteRule ^board/(.*) board/$1 [L]
Diese Regel regelt nichts. Sie schickt Anfagen an Pfad board/abc an board/abc weiter. Eine Filterung für RewriteRule sollte RewriteCond sein!
rewrite everthing else with the subfolder of the homepage
RewriteRule ^$|^(.*) homepage/$1
hm ...
############## FILE OBERORDNER #############
Options +FollowSymLinks
DirectoryIndex index.htm index.html index.xhtml index.php
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/board/.*
RewriteRule (.*) homepage/$1 [L]
###################################
Dabei soll folgendes passieren:
http://www.xyz.de/ -> http://www.xyz.de/homepage/index.php
Das ist weniger sinnig. http://www.xyz.de/homepage/index.php sollten zu http://www.xyz.de/homepage/ analog gesehen werden. So zumindest ist das gewöhnliche Verhalten des Apachen. Daher habe oben DirectoryIndex verwendet.
http://www.xyz.de/abc/ -> http://www.xyz.de/homepage/abc.php
Sieh Dir doch mal Deine Rewrite-Regeln des Unterverzeichnisses an:
RewriteRule ^([^/]*)/$ $1.php [L]
- gilt für http://domain.tld/verzeichnis/
Rieft man http://domain.tld/ auf, wurde vorher der Request zu http://domain.tld/homepage/ umgeschrieben. Jetzt wird daraus http://domain.tld/homepage.php
RewriteRule ^([^/]*)/([A-Za-z]*)/$ $1.php?folder=$2 [L]
- gilt für http://domain.tld/verzeichnis/verzeichnis/
Rieft man http://domain.tld/verzeichnis/ auf, wurde vorher der Request zu http://domain.tld/homepage/verzeichnis/ umgeschrieben. Jetzt wird daraus http://domain.tld/homepage/verzeichnis.php
RewriteRule ^press/view/([0-9]*)/$ press.php?folder=view&pid=$1 [L]
RewriteRule ^press/download/images/$ press.php?folder=download&sub=images [L]
Diese Regeln werden nie greifen. Die Basis ist /homepage/presse/etc.
RewriteRule ^([^/]*)/([A-Za-z]*)/([0-9]*)/$ $1.php?folder=$2&page=$3 [L]
Diese Regel bewirkt ebenfalls ein Umschreiben auf http://domain.tld/homepage.php + query string
Das Problem ist, dass der Server von All-inkl.com das nicht wirklich machen will. Die erste Rule funktioniert. Aber bei der zweiten kommt ein 404 Fehler:
"The requested URL /homepage/redirect:/homepage/abc.html// was not found on this server."Was aber auch funktioniert ist:
http://www.xyz.de/homepage/abc/ -> http://www.xyz.de/homepage/abc.php
############## FILE SUBORDNER #############
RewriteEngine on
RewriteRule ^/homepage/contact/([A-Za-z0-9._%-]*)\+([A-Za-z0-9._%-]*)\+([A-Za-z.]{2,4})/$ /homepage/contact.php?folder=form&n=$1&d=$2&t=$3 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/homepage/([^/]*)/$ /homepage/$1.php [L]
RewriteRule ^/homepage/press/view/([0-9]*)/$ /homepage/press.php?folder=view&pid=$1 [L]
RewriteRule ^/homepage/press/download/images/$ /homepage/press.php?folder=download&sub=images [L]
RewriteRule ^/homepage/([^/]*)/([^/]*)/$ /homepage/$1.php?folder=$2 [L]
RewriteRule ^/homepage/([^/]*)/([^/]*)/([^/]*)/$ /homepage/$1.php?folder=$2&page=$3 [L]
###################################
Gruß aus Berlin!
eddi
Was haben wir denn heute? "Kampf der Titanen" - Aha! Es treten an 0 und 1.