Hailo und nochmals vielen Dank.
REQUEST_URI kann nie leer sein. Da muss mindestens / drinstehen.
Das ist richtig. Ein "/" steht drin.
Wie bereits von mir und Sven empfohlen, mit simplem Rewrite und Selbstauswertung von Request-URI und HTTP-Host.
Gut. Ich habe jetzt einen Kompromiss gemacht aus mod_rewriterei und Selbstauswertung. Dies ist die (fast) gesamte .htaccess:
# remove trailing slash and reload
RewriteCond %{HTTP_HOST} !route\.example\.com$ [NC]
RewriteRule (.*[^/])/$ /$1 [R=301,L]
# redirect www.<subdomain>. to <subdomain>. (duplicate content)
RewriteCond %{HTTP_HOST} ^www\.(.*)\.example\.de$ [NC]
RewriteRule (.*) http://%1.example.de/$1 [R=301,L]
# redirect <subdomain>.example.de to example.de/<subdomain>.php
RewriteCond %{HTTP_HOST} !route\.example\.de$ [NC]
RewriteCond %{HTTP_HOST} ^(.*).example.de$ [NC]
RewriteRule (/?.*) http://route.example.de/%1.php/$1 [P]
# redirect to /index.php if file does not exist
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) /index.php/$1 [QSA]
Vielen Dank für alle Hilfe. Auch wenn immer noch der Proxyrequest drin ist, verwende ich es jetzt so. Es tut einfach genau, was ich möchte.
Cheers,
Baba