thomas_sepp: denkproblem bei htaccess

ich habe 2 domains
domain1 zielt in das verzeichnis 111
domain2 zielt in das verzeichnis 111/222

im verzeichnis 111 habe ich eine htaccess mit entsprechenden rewrite rules,
die auch wunderbar funktionieren.

RewriteRule ^$ http://www.domain1.tld/verzeichnis1/seite1 [PT]

RewriteRule ^http://www.domain1.tld/ort/stadt/seite1.html$ http://www.domain1.tld/verzeichnis1/seite1 [PT]

RewriteRule ^http://www.domain1.tld/ort/stadt/seite2.html$ http://www.domain1.tld/verzeichnis1/seite2 [PT]

###################################

ich versuche krampfhaft, domain2.tld auf ein verzeichnis von domain1.tld
zu leiten.
folgende htaccess datei habe ich im verzeichnis 111/222

RewriteRule ^$ http://www.domain1.tld/verzeichnis1/seite3 [PT]

RewriteRule ^http://www.domain2.tld/ort/stadt/seite4.html$ http://www.domain1.tld/verzeichnis1/seite1 [PT]

RewriteRule ^http://www.domain2.tld/ort/stadt/seite5.html$ http://www.domain1.tld/verzeichnis1/seite2 [PT]

ich weiß echt nicht, was ich da falsch mache - hab ich nen denkfehler?
thomas

  1. folgende fehlermeldung bekomme ich:

    Found
    The document has moved here.

    Additionally, a 400 Bad Request error was encountered while trying to use an ErrorDocument to handle the request.

    thomas

    1. ich glaub ich war zu kompliziert - neuer versuch:

      domain1.tld -> verzeichniss/111
      domain2.tld -> verzeichniss/222

      in verzeichnis /111 habe ich eine index.html
      und eine htaccess mit folgenden inhalt:

      RewriteEngine on
      RewriteBase /
      RewriteRule ^$ /index.html [PT]

      ... und in der browserzeile steht domain1.tld

      ich möchte aber, dass domain1.tld/index.html auf die seite
      domain2.tld/beispiel/index.html zielt und in der browserzeile
      domain1.tld/beispiel/index.html steht.

      ich weiß, dass ich das mit rewriterule machen muss, kriegs aber
      nicht hin :-(
      thomas

      1. domain1.tld -> verzeichniss/111
        domain2.tld -> verzeichniss/222

        [...]

        ich möchte aber, dass domain1.tld/index.html auf die seite
        domain2.tld/beispiel/index.html zielt und in der browserzeile
        domain1.tld/beispiel/index.html steht.

        Das geht nur über ProxyPass, u.U. verlangsamt das die Seitenauslieferung und dir entsteht zweifacher Traffic, sofern es kein DNS-Routing gibt, der den Request intern hält und dies bei der Trafficmessung berücksichtigt wird.

        RewriteEngine on
        RewriteRule ^$ /beispiel/index.html [R=301,L]
        RewriteRule ^beispiel/index.html$ http://domain2.tld/beispiel/index.html [P]

  2. domain1 zielt in das verzeichnis 111

    [...]

    im verzeichnis 111 habe ich eine htaccess mit entsprechenden rewrite rules,
    die auch wunderbar funktionieren.

    [...]

    RewriteRule ^http://www.domain1.tld/ort/stadt/seite1.html$ http://www.domain1.tld/verzeichnis1/seite1 [PT]

    Das wundert mich allerdings, denn im search-pattern wird in .htaccess-Dateien gegen einen lokalen filepath geprüft, sprich http://www.domain1.tld/ kommen nicht vor. Oder nutzt du etwas anderes als das Modul mod_rewrite des Apache Webservers?

    Das PT-Flag bezweckt nur in der httpd.conf etwas zusätzlich, was hier dann wieder dorch mod_rewrite rückgängig gemacht wird. In .htaccess-Dateien kannst du das L-Flag nutzen, was nur den break ausführt.

    ich versuche krampfhaft, domain2.tld auf ein verzeichnis von domain1.tld
    zu leiten.

    Da beide Domains nicht auf das gleiche Verzeichnis zeigen, kannst du nur einen Redirect senden oder ProxyPass über die Proxy-Module (P-Flag) nutzen.