Im Gegensatz zu einigen Meinungen ist die Weiterleitung per Header absolut SEO (Suchmaschinen, Google, ...) konform, wenn man sie richtig macht!
Denn meist, wenn man vorher etwas auswerten muss, kann man gar nicht per .htaccess weiterleiten.
Dabei ist es wichtig, dass man den
HTTP-Response-Code 3xx nicht vergisst!
Wenn man diesen per .htaccess vergisst, sendet der Apache meist dennoch einen 301 Header.
Valide und SEO konforme Varianten wären:
"per .htaccess" schrieb:
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
"per php" schrieb:
header('Location:
http://example.com', true, 301);
"per html" schrieb:
<meta http-equiv="refresh" content="5"; URL="http://example.com">
Letzeres wird von z.B. Google immer als 301 interpretiert (man hat keine andere Möglichkeit) und das bedeutet "Moved Permanently". Sollte also nie für eine vermeidlich schnelle Lösung verwendet werden. Google folgt der anderen Seite auch nicht.
Ähnliches gibt es auch für andere Sprachen ...
Wieso sich alle gegen eine Header Weiterleitung sträuben weiß ich nicht. Google hat in der Hinsicht nie Aussagen gemacht, das so etwas negativ gewertet wird. Beispiele dafür gibt es auch nicht und Google folgt auf jeden Fall der Weitergeleiteten Seite.
Das praktische am php-Weiterleiten ist, das man einen Benutzer dynamisch weiterleiten kann (z.B. eingeloggt, nicht eingeloggt) und davor noch Daten auswerten kann. Für den Benutzer spielt es eh keine Rolle ob php oder .htaccess Weterleitung, die 50Byte mehr Trafic und zusätzlichen 10ms gehen auf jeden Fall unter.
Ich empfehle bei statischen Weiterleiten .htaccess und bei dynamischen php.