mod_rewrite - Ohne www auch in Unterverzeichnissen
Verfasst: 22.11.2010, 12:49
Hallo,
ich bekomme das www einfach nicht los. Für die Domain selbst klappt es (www.xy.de leitet um zu xy.de) aber die Unterverzeichnisse bleiben mit www.xy.de/einverzeichnis erreichbar.
Ich benutze in den Unterverzeichnissen separate htaccess-Dateien, damit z.B:
xy.de/vz1 intern zu einer "php-Verarbeitunsdatei" (index-vz1.php) umleitet und verarbeitet wird. Nach außen ist das nicht sichtbar.
Aber auch tiefer liegende Unterverzeichnisse wie z.B:
xy.de/vz1/uvz2 werden intern von der gleichen "php-Verarbeitunsdatei" (index-vz1.php) verarbeitet. (Intern im PHP werden dann die Verzeichnisse zerlegt und der entsprechende Inhalt wird angezeigt.)
Das funktioniert auch, aber alle Unterverzeichnisse sind mit www. erreichbar. Das soll nicht sein.
Weiterhin sollen alle Dateien, die real existieren, auch erreichbar sein. Das steht in meinen Dateien:
htaccess im root-Verzeichnis:
RewriteEngine on
# root verzeichnis umleiten auf "ohne www" #OK
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
ErrorDocument 404 /error/404.php
# Real existierende sind nicht betroffen, z.B. Bilder #OK
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
htaccess in den unterverzeichnissen zb xy.de/vz1:
RewriteEngine on
RewriteRule . index-vz1.php [QSA,L]
# xy.de/vz1 wird von index-vz1.php verarbeitet #OK
# xy.de/vz1/uvz1 wird auch von index-vz1.php verarbeitet #OK
# xy.de/vz1/uvz2 wird auch von index-vz1.php verarbeitet usw # OK
Wie bekomme ich das denn jetzt hin, dass beim Aufruf von www.xy.de/vz1 (und alle weiteren Unterverzeichnisse hiervon) dauerhaft nach außen sichtabr auf "ohne www." umgeleitet wird. Und intern die jeweilige Verabeitungsdatei angesprochen wird?
Hoffentlich kann mir jemand helfen, Danke im Voraus,
Grüße
ich bekomme das www einfach nicht los. Für die Domain selbst klappt es (www.xy.de leitet um zu xy.de) aber die Unterverzeichnisse bleiben mit www.xy.de/einverzeichnis erreichbar.
Ich benutze in den Unterverzeichnissen separate htaccess-Dateien, damit z.B:
xy.de/vz1 intern zu einer "php-Verarbeitunsdatei" (index-vz1.php) umleitet und verarbeitet wird. Nach außen ist das nicht sichtbar.
Aber auch tiefer liegende Unterverzeichnisse wie z.B:
xy.de/vz1/uvz2 werden intern von der gleichen "php-Verarbeitunsdatei" (index-vz1.php) verarbeitet. (Intern im PHP werden dann die Verzeichnisse zerlegt und der entsprechende Inhalt wird angezeigt.)
Das funktioniert auch, aber alle Unterverzeichnisse sind mit www. erreichbar. Das soll nicht sein.
Weiterhin sollen alle Dateien, die real existieren, auch erreichbar sein. Das steht in meinen Dateien:
htaccess im root-Verzeichnis:
RewriteEngine on
# root verzeichnis umleiten auf "ohne www" #OK
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
ErrorDocument 404 /error/404.php
# Real existierende sind nicht betroffen, z.B. Bilder #OK
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php
htaccess in den unterverzeichnissen zb xy.de/vz1:
RewriteEngine on
RewriteRule . index-vz1.php [QSA,L]
# xy.de/vz1 wird von index-vz1.php verarbeitet #OK
# xy.de/vz1/uvz1 wird auch von index-vz1.php verarbeitet #OK
# xy.de/vz1/uvz2 wird auch von index-vz1.php verarbeitet usw # OK
Wie bekomme ich das denn jetzt hin, dass beim Aufruf von www.xy.de/vz1 (und alle weiteren Unterverzeichnisse hiervon) dauerhaft nach außen sichtabr auf "ohne www." umgeleitet wird. Und intern die jeweilige Verabeitungsdatei angesprochen wird?
Hoffentlich kann mir jemand helfen, Danke im Voraus,
Grüße