htaccess, Weiterleitung mit www und ohne www

U

u75web

Jungspund
Hallo zusammen,

wie richtet man eine Weiterleitung einer alten Domain auf eine neue Domain, aber auch mit der Option ohne „www“ in der URL, dh bei folgenden Aufrufen:

http://www.die-alte-domain.de
http://die-alte-domain.de


beide sollen auf http://www.neue-domain.de geleitet werden.

Das soll per htaccess geschehen.

Ansatz. 1:
Code:
RewriteEngine On

RewriteCond %{QUERY_STRING} ^$
RewriteCond %{REQUEST_URI} ^/$
RewriteRule .* [url]http://www.neue_domain/datei_zu_anzeige.html[/url] [L,R=301]

RewriteCond %{REQUEST_URI} ^/$
RewriteCond %{HTTP_HOST} ^alte_domain\.de$ [NC]
RewriteRule ^(.*)$ http://www.alte_domain.de/$1 [L,R=301]


Ansatz. 2:
Code:
RewriteEngine On

RewriteCond %{HTTP_HOST} ^www\.alte_domain\.de$
RewriteRule ^(.*)$ auf [url]http://www.neue-domain.de/datei_zu_anzeige.html[/url] [R=301]


Ansatz. 3:
Code:
RewriteEngine On

RewriteBase /

RewriteCond %{HTTP_HOST} !^www. [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^(.*)$ [url]http://www.neue_domain/datei_zu_anzeige.html[/url] /$1 [R=301]


Ansatz. 4:
Code:
RewriteEngine On

RewriteCond %{http_post} ^(www\.)alte_domain.de [NC] 
RewriteRule ^(.*)$ http://www.neue_domain.de/file_to_show.html/$1 [R=301,L] 

RewriteCond %{QUERY_STRING} ^$
RewriteCond %{REQUEST_URI} ^/$
RewriteRule .* [url]http://www.neue_domain.de/file_to_show.html[/url] [L,R=301] 

RewriteCond %{REQUEST_URI} ^/$
RewriteCond %{HTTP_HOST} ^alte_domain\.de$ [NC] 
RewriteRule ^(.*)$ http://www.alte_domain.de/$1 [L,R=301]


Habe auch versucht, die Fehler Meldung zu logen:

Code:
RewriteLog /tmp/rewritei_lv.log
RewriteLogLevel 9

Leider auch ohne Erfolg.


Mit „www“ funktioniert nur der Bsp. 2

Hat jemand eine Idee wie die Weiterleitung ohne „www“ definiert werden muss?

Apache/2.2.16 (Debian)
Debian 6.0.6
PHP 5.3.3-7


Danke im Voraus.

Grüße
u75web
 
<VirtualHost 10.x.x.x:80>

ServerName www.neue-domain.de


DocumentRoot /var/www/bla

<Directory /var/www/bla/>



</Directory>


</VirtualHost>


<VirtualHost 10.x.x.x:80>

ServerName www.die-alte-domain.de
ServerAlias die-alte-domain.de

Redirect permanent / http://www.neue-domain.de

DocumentRoot /var/www/bla

<Directory /var/www/bla/>

DirectoryIndex index.php index.html index.htm index.shtml
Options -Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all

</Directory>

</VirtualHost>

# EOF

Ich mach das immer so. Oder möchtest du unbedingt das im htaccess machen?
 
Abend,

@returnNULL, nicht jeder hat Zugriff auf seine Apachekonfiguration ;).

@u75web, wenn du die Anfragen wirklich einfach nur auf die neue Domain leiten willst ist der Ansatz "Redirect permanent / http://www.neue-domain.de" wohl der einfachste.

Wenn die URL trotzdem noch funktionieren soll, solltest du dir das hier einmal anschauen link.

mfg HeadCrash
 
Hi,

@HeadCrash
danke für den Link, nach diesem Link http://httpd.apache.org/docs/2.4/rewrite/remapping.html#movehomedirs

habe ich folgende Anpassung gemacht:

Code:
RewriteEngine On

RewriteRule ^(.+) http://www.neue-domain.de/Seite_die_direkt_aufgerufen_werden_soll.html/$1 [R,L]

RedirectMatch ^(.+) http://www.neue-domain.de/Seite_die_direkt_aufgerufen_werden_soll.html/$1

Redirect ^(.*) http://www.neue-domain.de/Seite_die_direkt_aufgerufen_werden_soll.html/

und, die Situation ist die gleiche, mit www wird problemlos weiter geleitet, ohne bekomme ich nur die Meldung "Not Found The requested URL / was not found on this server."

Zugang zu Apache Config ist vorhanden.

@returnNULL
hier die Apache Config Datei:
Code:
<VirtualHost *>
        ServerName      www.die-alte-domain.com
        ServerAlias     die-alte-domain.com
        ServerAlias     die-alte-domain.de
        ServerAlias     die-alte-domain.at   www.die-alte-domain.at
        ServerAlias     die-alte-domain.net  www.die-alte-domain.net
        ServerAlias     die-alte-domain.info www.die-alte-domain.info
        ServerAlias     die-alte-domain.org  www.die-alte-domain.org
        ServerAlias     die-alte-domain.eu   www.die-alte-domain.eu
        ServerAlias     diealtedomain.at     www.diealtedomain.at
        ServerAlias     diealtedomain.eu     www.diealtedomain.eu
        ServerAlias     diealtedomain.org    www.diealtedomain.org
        ServerAlias     diealtedomain.info   www.diealtedomain.info
        ServerAlias     diealtedomain.net    www.diealtedomain.net
        ServerAlias     diealtedomain.com    www.diealtedomain.com
        ServerAlias     diealtedomain.de     www.diealtedomain.de
</VirtualHost>

<VirtualHost *>
        ServerName  www.die-alte-domain.de
        ServerAdmin webmaster@die-alte-domain.de

        DocumentRoot /var/www/www.die-alte-domain.de/html

        RewriteEngine on
        RewriteLog /var/log/apache2/www.die-alte-domain.de/rewrite.log
        RewriteLogLevel 1

        RewriteCond %{HTTP_REFERER} ^http://www.die-alte-domain.de/$

        RewriteRule ^.*$ http://www.neuedomain.com/seite_die_angezeigt_werden_soll.html [L]
        RewriteCond %{HTTP_HOST} !^http://www.neuedomain.com/seite_die_angezeigt_werden_soll.html
        RewriteRule ^(.*)$ http://www.neuedomain.com/seite_die_angezeigt_werden_soll.html [L,R=301]

        RedirectMatch ^/$ http://www.neuedomain.com/seite_die_angezeigt_werden_soll.html

        <Directory /var/www/www.die-alte-domain.de/html>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                #AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

        ErrorLog /var/log/apache2/www.die-alte-domain.de/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/www.die-alte-domain.de/access.log combined
        ServerSignature On

</VirtualHost>

Beide Anpassung habe nicht den gewünschten Effekt gebracht.
Idee woran es liegen könnte?

mgf
u75web
 
Code:
<VirtualHost *>
        ServerName      www.die-alte-domain.com
        ServerAlias     die-alte-domain.com
        ServerAlias     die-alte-domain.de
        ServerAlias     die-alte-domain.at   www.die-alte-domain.at
        ServerAlias     die-alte-domain.net  www.die-alte-domain.net
        ServerAlias     die-alte-domain.info www.die-alte-domain.info
        ServerAlias     die-alte-domain.org  www.die-alte-domain.org
        ServerAlias     die-alte-domain.eu   www.die-alte-domain.eu
        ServerAlias     diealtedomain.at     www.diealtedomain.at
        ServerAlias     diealtedomain.eu     www.diealtedomain.eu
        ServerAlias     diealtedomain.org    www.diealtedomain.org
        ServerAlias     diealtedomain.info   www.diealtedomain.info
        ServerAlias     diealtedomain.net    www.diealtedomain.net
        ServerAlias     diealtedomain.com    www.diealtedomain.com
        ServerAlias     diealtedomain.de     www.diealtedomain.de
</VirtualHost>

<VirtualHost *>
        ServerName  www.die-alte-domain.de
        ServerAdmin webmaster@die-alte-domain.de
....

öhm, pack mal die ganzen Aliase in einen VirtualHost abschnitt. Wenn die Konfiguration wirklich so aussieht, dann wundert mich das nicht das da nichts geht.

mfg
HeadCrash
 
die vielen ServerAlias habe ich entfernt, beim Aufruf http://die-alte-domain.de wird einfach mein /var/www/ angezeigt.
Notdürftig habe ich es per index.html und meta Weiterleitung gelöst :(
Die .htaccess aus dem Verzeichnis, der Domain, die weiter geleitet werden soll habe ich ins /var/www kopiert:

Code:
RewriteEngine On

RewriteRule ^(.+) http://www.neue-domain.de/Seite_die_direkt_aufgerufen_werden_soll.html/$1 [R,L]

RedirectMatch ^(.+) http://www.neue-domain.de/Seite_die_direkt_aufgerufen_werden_soll.html/$1

Redirect ^(.*) http://www.neue-domain.de/Seite_die_direkt_aufgerufen_werden_soll.html/


Leider wird nicht weiter geleitet!

mfg
u75web
 

Ähnliche Themen

Aura for PHP Konfigurationsproblem

RewriteRules für ViurtualHosts

Mod Rewirte mit .htaccess

.htaccess Problem bei https (Host Europe)

RewriteRules in .htaccess

Zurück
Oben