Seite 1 von 1

vhost oder .htaccess/mod_rewrite(301 redirect)?

Verfasst: 27.05.2009, 22:18
von mradlmaier
Hallo,

Ich habe hier im Forum und anderswo gelesen, dass wenn man eine Domain auf eine andere Domain umleiten will, man das am suchmaschinen-gerechtesten mittels .htacces/mod_rewrite (301 redirect) macht. Nun habe ich eine Domain bei Strato. Umleitungen bei Strato werden da aber mit der vhost Datei gemacht. Besteht da jetzt die Gefahr von Duplicate Content? Ist das suchmaschinen-optimal?

Kann mich bitte jemand erleuchten,

mfg,
Michael

Verfasst:
von

Re: vhost oder .htaccess/mod_rewrite(301 redirect)?

Verfasst: 29.05.2009, 16:41
von Mork vom Ork
mradlmaier hat geschrieben:wenn man eine Domain auf eine andere Domain umleiten will, man das am suchmaschinen-gerechtesten mittels .htacces/mod_rewrite (301 redirect) macht.
Du schmeisst mit „htaccess/mod_rewrite (301 redirect)“ vier Sachen zusammen, die nur mittelbar zusammenhängen.

1) Die Weiterleitung an sich:
Es gibt drei Arten, eine Weiterleitung einzurichten, per HTTP (&#8222;301&#8220;), per Javascript (location-Objekt), per HTML (<meta>-refresh). Eine Domain B in einer Domain A verstecken kann man zudem auch noch per Frame, und von Proxy-Servern wollen wir jetzt nicht anfangen.
Eine technisch saubere, von allen erkennbare Weiterleitung erreicht man nur mit der HTTP-Variante.

2) Die Webserverkonfiguration:
Die .htaccess ist eine von mehreren Konfigurationsdateien bzw. -bereichen des Apache-Webservers. Da kann man vieles reinstecken, unter anderem auch Anweisungen, auf dieses oder jenes mit besagtem Status 301 zu antworten, d.h. eine Weiterleitung zu initiieren.

3) Das Servermodul mod_rewrite:
mod_rewrite ist eine Möglichkeit, aus der .htaccess heraus 301 auszugeben, die dazu nötige Konfigurationanweisung lautet RewriteRule. Für die banale Umleitung einer ganzen Domain ist das aber zu viel des Guten, dafür reicht Redirect:

4) Die Konfigurationsanweisung Redirect:
Das Modul mod_alias stellt weitere Möglichkeiten für eine Weiterleitung zur Verfügung, die Anweisung lautet Redirect oder RedirectMatch (und noch ein paar mehr).
Nun habe ich eine Domain bei Strato. Umleitungen bei Strato werden da aber mit der vhost-Datei gemacht.
Was ist eine &#8222;vhost-Datei&#8220;? vhost ist sicher die Abkürzung von Virtual Host, aber unter einer vhost-Datei kann ich mir nur einen weiteren Konfigurationsbereich des Apache-Webservers vorstellen. Diese Frage ist insofern von Interesse, als dass du an dem Punkt nach außen genau das Gleiche bewerkstelligst wie mit der .htaccess, und dies unter Umständen für den Webserver auch noch resourcenschonender.

Falls du nicht herausfinden kannst, was sich hinter vhost-Datei technisch verbirgt, besorge dir Firefox und die Erweiterung LiveHTTPHeaders (alternativ auch Firebug.
Über einen entsprechenden Eintrag im Menü Extras kannst du dann die Unterhaltung zwischen Browser und Server verfolgen, und damit auch sehen, was dein Server antwortet bzw. ob die Weiterleitung per 301 zustande kommt.

Verfasst: 29.05.2009, 16:47
von mgutt
Sag einfach die Domain und Du bekommst eine Antwort.

Verfasst:
von

Re: vhost oder .htaccess/mod_rewrite(301 redirect)?

Verfasst: 29.05.2009, 19:34
von mradlmaier
Mork vom Ork hat geschrieben:
mradlmaier hat geschrieben:wenn man eine Domain auf eine andere Domain umleiten will, man das am suchmaschinen-gerechtesten mittels .htacces/mod_rewrite (301 redirect) macht.
Du schmeisst mit „htaccess/mod_rewrite (301 redirect)“ vier Sachen zusammen, die nur mittelbar zusammenhängen.

1) Die Weiterleitung an sich:
Es gibt drei Arten, eine Weiterleitung einzurichten, per HTTP („301“), per Javascript (location-Objekt), per HTML (<meta>-refresh). Eine Domain B in einer Domain A verstecken kann man zudem auch noch per Frame, und von Proxy-Servern wollen wir jetzt nicht anfangen.
Eine technisch saubere, von allen erkennbare Weiterleitung erreicht man nur mit der HTTP-Variante.

2) Die Webserverkonfiguration:
Die .htaccess ist eine von mehreren Konfigurationsdateien bzw. -bereichen des Apache-Webservers. Da kann man vieles reinstecken, unter anderem auch Anweisungen, auf dieses oder jenes mit besagtem Status 301 zu antworten, d.h. eine Weiterleitung zu initiieren.

3) Das Servermodul mod_rewrite:
mod_rewrite ist eine Möglichkeit, aus der .htaccess heraus 301 auszugeben, die dazu nötige Konfigurationanweisung lautet RewriteRule. Für die banale Umleitung einer ganzen Domain ist das aber zu viel des Guten, dafür reicht Redirect:

4) Die Konfigurationsanweisung Redirect:
Das Modul mod_alias stellt weitere Möglichkeiten für eine Weiterleitung zur Verfügung, die Anweisung lautet Redirect oder RedirectMatch (und noch ein paar mehr).
Nun habe ich eine Domain bei Strato. Umleitungen bei Strato werden da aber mit der vhost-Datei gemacht.
Was ist eine „vhost-Datei“? vhost ist sicher die Abkürzung von Virtual Host, aber unter einer vhost-Datei kann ich mir nur einen weiteren Konfigurationsbereich des Apache-Webservers vorstellen. Diese Frage ist insofern von Interesse, als dass du an dem Punkt nach außen genau das Gleiche bewerkstelligst wie mit der .htaccess, und dies unter Umständen für den Webserver auch noch resourcenschonender.

Falls du nicht herausfinden kannst, was sich hinter vhost-Datei technisch verbirgt, besorge dir Firefox und die Erweiterung LiveHTTPHeaders (alternativ auch Firebug.
Über einen entsprechenden Eintrag im Menü Extras kannst du dann die Unterhaltung zwischen Browser und Server verfolgen, und damit auch sehen, was dein Server antwortet bzw. ob die Weiterleitung per 301 zustande kommt.

Habe mal geguckt. Die vhost Datei gehört zu Apache. Da können wohl allerhand Direktiven hinein gepackt werden:
"Almost any Apache directive may go into a VirtualHost container." so steht es in der vhost Datei meiner openSUSE Development-Box. Benütze es da aber nie, weils bloss eine Development-Box ist. Man tut damit wohl verschiedene Virtual Hosts auf einem Apache Webserver konfigurieren. Das müsste dann bedeuten, dass Redirects mit vhost und .htaccess gleichwertig sind (soweit ich das mit meinem beschränkten Apache Kenntnissen beurteilen kann)?

mfg.
Michael

Michael

Re: vhost oder .htaccess/mod_rewrite(301 redirect)?

Verfasst: 29.05.2009, 21:08
von Mork vom Ork
mradlmaier hat geschrieben:Habe mal geguckt. Die vhost-Datei gehört zu Apache.
[&#8230;]
Das müsste dann bedeuten, dass Redirects mit vhost und .htaccess gleichwertig sind
Grundsätzlich ein- und dasselbe, du musst allerdings den Gültigkeitsbereich beachten.

Suche in deiner Strato-vhost-Datei nach einem <virtualhost>-Block, in dem sich eine Zeile beginnend mit ServerName oder ServerAlias, gefolgt von der umzuleitenden Domain, befindet; in diesen Block schreibst du Redirect / http://zieldomain/ rein. Je nachdem, für welche Domains dieser Block noch gilt, musst du vorher eventuell eine Kopie von ihm machen, um die Domains zu trennen, einen Block für die umzuleitenden, einen für die nicht umzuleitenden. Abschließend Webserver neu starten.