Less hat geschrieben:Was genau bedeuten "NE" und "L" in den eckigen Klammern bei den Rewrite-Rules?
NE steht für "no escape"; es sollen also alle Zeichen 1:1 übernommen und nicht %-kodiert werden.
L steht für "last"; passt die jeweilige Regel, werden keine weiteren geprüft. Normalweise werden alle RewriteRule- bzw. RewriteCond-Anweisungen abgearbeitet, so dass man eine URL auch mehrmals pro Durchlauf ändern kann.
Was verstehst Du unter "separaten Hosts" ?
Ein Apache kann verschiedene Hosts verwalten. Jeder Host ist unter mindestens einem Domainnamen erreichbar, man kann jedoch auch dafür sorgen, dass mehrere Domains in ein und demselben Host resultieren. Genau das passiert, wenn Du
www.example.com/blafasel aufrufst und das Gleiche erscheint wie beim Aufruf von example.com/blafasel.
www.example.com ist dann nicht eigenständig, sondern einfach als Alias, also als weiterer Domainname für example.com eingetragen (oder umgekehrt).
Mit separaten Hosts meine ich, dass
www.example.com eben nicht als zusätzlicher Name für example.com eingetragen wird, sondern als echter, eigenständiger Host. Das hat den Vorteil, dass example.com und
www.example.com strikt von einander getrennt verwaltet werden und somit auch jeder seinen eigenen Konfigurationsblock hat - was ja letztlich auch nur sinnig ist, da bei example.com etwas anderes passieren soll als bei
www.example.com.
Bei separaten Hosts kommst Du Dir mit der unterschiedlichen Behandlung nicht selbst in die Quere und musst insbesondere nicht vor jeder Konfigurationsanweisung entscheiden (lassen), ob die nun für
www.example.com oder example.com gilt (zum Beispiel mit
RewriteCond %{HTTP_HOST} ^(www\.)?example\.net$)
Und könnte ich Punkt 7 so lösen, dass ich die Dateien bei example.net per htaccess auf example.de umleite und sie dort dann per 404 auf eine Fehlerseite schicke?
Das kommt auf die Datei an. Existiert sie definitiv auch bei der neuen Domain nicht mehr, wäre es nicht verkehrt, gleich an Ort und Stelle einen 404-Fehler auszuspucken. Existiert sie unter neuem Namen, sollte eine entsprechende Weiterleitung erfolgen (was Du ja bei 1-6 machst). Und bei allem, was nicht in diese beiden Gruppen passt, ist die einzig praktikable Lösung, eine 1:1-Weiterleitung auszulösen und die weitere Behandlung dem neuen Server zu überlassen (ohne explizite Prüfung, ob die Anfrage nun via der alten Domain kommt oder nicht).
Dass Du einen 404 ausgibst, muss übrigens nicht bedeuten, dass Du irgendwen im Regen stehen lässt. Es steht Dir ja frei, die Fehlermeldung entsprechend zu verschönern, um den aufgelaufenen Besucher trotzdem zum Ziel zu leiten. Das ist ja vermutlich auch der Sinn der angefragten Weiterleitung zur Startseite. Nur hat die Startseite halt den Nachteil, dass niemand, weder Besucher noch Maschine, etwas von dem Irrlauf erfährt.