Matthias Kohlhoff: Rewriting

Hallo zusammen,

auch nach genauem Studium des Forums hier habe ich keine Lösung für mein Prob gefunden.

Ich will eine Domain wie "www.meinedomain.de" auf eine andere "www.andererdomain.de/kunden/xy/" umleiten. Dabei soll aber im Browser weiterhin die Domain "www.meinedomain.de" angezeigt werden.

Mir ist klar, dass ich hierzu in die .htaccess Datei eingreifen muss.

Ich habe bei 1&1 einen Root-Server, die domain "www.meinedomain.de" liegt im Verzeichnis /home/www/xyz/html/ und die Domain ist als virtueller Host eingetragen.

Einen ersten Versuch nur mal das WWW Verzeichnis der Domain auf ein Unterverz. derselben Domain umzuleiten...

RewriteEngine on
RewriteBase /
RewriteRule   ^/$  /kunden/  [R]

... hat der Server mit folgendem Error abgelehnt:

"Forbidden
You don't have permission to access / on this server."

Wenn mir jemand helfen könnte, wäre das echt super.

Gruß,
Matthias

  1. Ich will eine Domain wie "www.meinedomain.de" auf eine andere "www.andererdomain.de/kunden/xy/" umleiten. Dabei soll aber im Browser weiterhin die Domain "www.meinedomain.de" angezeigt werden.

    Das geht wohl nicht: Du versuchst, Inhalte von Server B innerhalb der Domain von Server A anzeigen zu lassen, also quasi durch Server A durchzuleiten.
    Server A muß die Daten also selber von Server B abholen. mod_rewrite ist dazu aber nicht geeignet, weil es nur entweder intern an der Adresse rumwurschteln kann oder aber "extern" den Browser zu einer anderen URL schicken.
    Du müsstest aus Server A eine Art Proxyserver machen, vielleicht hilft mod_proxy oder auch eine CGI-basierte Lösung Dir weiter.

    Andere Möglichkeit: Die insbesondere bei Kindern sehr beliebten Schummelrahmen der Kost-Nix-Anbieter-Fraktion.

    Gruß,
      soenk.e

  2. Aloha!

    Ich will eine Domain wie "www.meinedomain.de" auf eine andere "www.andererdomain.de/kunden/xy/" umleiten. Dabei soll aber im Browser weiterhin die Domain "www.meinedomain.de" angezeigt werden.

    Mir ist klar, dass ich hierzu in die .htaccess Datei eingreifen muss.

    Ich frage bei solchen Sachen immer gerne nach dem Sinn.

    Was genau soll das werden?

    Hast du beide Domains auf deinem Server? Wenn nein, dann nimm ein Frameset, anders gehts dann sowieso nicht. Wahlweise könnte Apache als Proxy reagieren, das erzeugt dann aber doppelt Traffic.

    Wenn du beide Domains auf deinem Server hast, warum änderst du dann nicht einfach den DocumentRoot für die eine Domain so, daß sie auf das passende Verzeichnis zeigt? Das ist sicherlich einfacher und offensichtlicher, als mit Rewriting daran rumzubasteln.

    Im übrigen mußt du nicht .htaccess bearbeiten. Die Datei httpd.conf ist fürs Rewriting eigentlich der bessere Ort, weil das Rewriting dort früher greifen kann und der Request so schneller erfüllt wird. Außerdem muß man sich dann nicht mit der RewriteBase rumschlagen.

    Ich habe bei 1&1 einen Root-Server, die domain "www.meinedomain.de" liegt im Verzeichnis /home/www/xyz/html/ und die Domain ist als virtueller Host eingetragen.

    Dann hast du doch eigentlich alle notwendigen Zugriffsmöglichkeiten, oder?

    - Sven Rautenberg

  3. Hi,

    Ich will eine Domain wie "www.meinedomain.de" auf
    eine andere "www.andererdomain.de/kunden/xy/"
    umleiten. Dabei soll aber im Browser weiterhin die
    Domain "www.meinedomain.de" angezeigt werden.

    auch ich frage Dich erst mal: Warum das? Was willst
    Du eigentlich erreichen?

    Ich habe bei 1&1 einen Root-Server, die domain
    "www.meinedomain.de" liegt im Verzeichnis
    /home/www/xyz/html/ und die Domain ist als
    virtueller Host eingetragen.

    Die andere auch? Wenn beide Domains auf demselben
    Server liegen, kannst Du die Verzeichnisse des einen
    einfach via "Alias" in den anderen hinein mappen.

    Falls nicht, hättest Du noch die Möglichkeit, den
    einen Server mit Hilfe von mod_proxy in den URL-Raum
    des anderen einzubetten.

    Viele Grüße
          Michael

    1. auch ich frage Dich erst mal: Warum das? Was willst
      Du eigentlich erreichen?

      Eine Seite die mit JSP und Servlets läuft, liegt nicht auf meinem Server. Auf meinem Server läuft PHP. Die Domain ist aber auf meinen Server geroutet. Solange die Seite noch nicht auf PHP umgeschrieben ist, muss sie also auf dem anderen Server liegen bleiben. Im Moment nutzte ich die auch von einem Posting vorgeschlagene Framesetlösung. Aber das ist m.E. keine Lösung, sondern Pfusch.

      Dass es eine Lösung dafür gibt, macht z.B. der Provider Strato vor. Dort kann ich Domains wunderbar an jede beliebige URL umleiten und die eingegebene URL bleibt im Browser erhalten. Leider weiß ich nicht wie die das programmiertechnisch lösen...

      Falls nicht, hättest Du noch die Möglichkeit, den
      einen Server mit Hilfe von mod_proxy in den URL-Raum
      des anderen einzubetten.

      ??? leider bin ich kein Linux-Profi. Könntest Du mir das ein wenig genauer erklären oder aber einen Link auf ein Beispiel o.ä. posten?

      Dank und Gruß,
      Matthias

      1. Moin!

        Dass es eine Lösung dafür gibt, macht z.B. der Provider Strato vor. Dort kann ich Domains wunderbar an jede beliebige URL umleiten und die eingegebene URL bleibt im Browser erhalten. Leider weiß ich nicht wie die das programmiertechnisch lösen...

        Die werden wohl auch entweder ein Frameset nehmen, oder (unwahrscheinlich) den Server als Proxy verwenden. Dann müßte sich aber die URL während des Surfens verändern.

        Falls nicht, hättest Du noch die Möglichkeit, den
        einen Server mit Hilfe von mod_proxy in den URL-Raum
        des anderen einzubetten.

        ??? leider bin ich kein Linux-Profi. Könntest Du mir das ein wenig genauer erklären oder aber einen Link auf ein Beispiel o.ä. posten?

        Dazu mußt du kein Linux-Profi sein, sondern ein Apache-Profi. Und wenn du das nicht bist, schaust du in der Apache-Dokumentation nach, was diese zu "mod_proxy" sagt.

        http://www.apache.org -> dem Link zu httpd folgen und gucken.

        - Sven Rautenberg