Tim Tepaße: Alle Anfragen auf Server auf eine Seite umleiten (.htaccess)

Beitrag lesen

ich bin nicht so der Pro in .htaccess, also frag ich mal wie es geht.
Ich habe nichts bei Google gefunden: Ich möchte ALLE anfragen auf eine Datei auf dem Webserver in eine Datei umleiten, wie mach ich das am besten?

Mit Umleiten meinst Du, ...

a) ... dass anstelle von example.org/eins.html der Inhalt von example.org/zwei.html ausgeliefert wird, die URL jedoch weiterhin "eins.html" ist?

Dann wäre mod_rewrite für Dich die Antwort, ungefähr so:

~~~apache RewriteEngine on
  RewriteRule eins.html$ zwei.html

  
Wenn Du Zugriff auf die httpd.cond hast – bei einem normalen Hoster eher unwahrscheinlich – dann ist auch die Direktive [Alias](http://httpd.apache.org/docs/2.2/mod/mod_alias.html#alias) möglich.  
  
  
b) ... dass anstelle von example.org/eins.html der Browser auf example.org/zwei.html weiter geleitet wird, also auch die zweite Adresse angezeigt wird?  
  
Dann gibt es zwei Möglichkeiten. Die [Redirect-Direktive](http://httpd.apache.org/docs/2.2/mod/mod_alias.html#redirect):  
  
  `Redirect permanent /eins.html http://example.org/zwei.html`{:.language-apache}  
  
Das „permanent“ kann auch durch „temp“ ersetzt oder weggelassen werden, um anzudeuten, dass die Weiterleitung nur temporär sein soll statt permanent. Man kann das gleiche übrigens mit mod\_rewrite machen, wenn man das Redirect-Flag verwendet:  
  
  ~~~apache
RewriteEngine on  
  RewriteRule eins\.html$ zwei.html [R]

Wenn Deine Umleitungen nicht nur für eine sondern für mehrere Dateien gelten sollten, wäre es geschickter mod_rewrite (oder RedirectMatch) zu verwenden, weil dieses per default reguläre Ausdrücke verwendet und man mit diesem Muster für mehrere Dateinamen nutzen kann. Allerdings sollte man dabei auch Reguläre Ausdrücke beherrschen. An Lernen führt kein Weg vorbei.