Potteck: verschiedene Domains auf einem Server und die .htaccess

Hallöchen,

ich hab da ein kleines Problemchen mit meinem 1&1 Server (managed) und frage mich, ob mir einer von euch helfen kann.

Wir haben 2 Domains, xxx1.de und xxx2.com. Der Server ist ein Debian mit Apache 1.3

xxx1.de zeigt auf den Ordner ~/de
und xxx2.com zeigt auf ~/

Der Ordner ~/de/admin ist mit einer .htaccess geschützt.

Wenn ich jetzt versuche www.xxx1.de/admin/test.html anzusurfen, dann bekomm ich schön brav meine Abfrage und danach seh ich die Seite.

Wenn ich aber versuche mit www.xxx2.com/de/admin/test.html darauf zuzugreifen, ernte ich nur ein hämisches "No input file specified."

Kann mir da einer weiterhelfen? Sobald ich die .htaccess im de/admin-Ordner umbenenne, funzt alles wunderbar. Isdt aber natürlich nicht Sinn der Übung.

Hintergrund ist, dass xxx1.de auf einen anderen Server umzieht und wir diverse Links in unseren Skript ändern werden müssen. sowieso.

Vielleicht noch eine Anmerkung:
Ich habe gehört, dass die .htaccess ihre Eigenschaften nach unten durch die Ordner-Struktur vererbt.

~/.htaccess:
Options -Indexes
CheckSpelling OFF

~/de/.htaccess:
Options -Indexes
Options +FollowSymLinks
RewriteEngine On
RewriteBase /
{diverse Rewrite-Rules}

~/de/admin/.htaccess:
AuthType Basic
AuthName "Access to /de/admin"
AuthUserFile {....}/htpasswd
Require user User1

Lieben Gruss, Peter

  1. Hallo,

    Der Server ist ein Debian mit Apache 1.3

    hat es einen Grund, dass ihr noch die doch schon etwas betagte Apache-Version 1.3 einsetzt?

    Ich habe gehört, dass die .htaccess ihre Eigenschaften nach unten durch die Ordner-Struktur vererbt.

    Ja, das ist richtig.

    ~/.htaccess:
    Options -Indexes
    CheckSpelling OFF

    Nicht weiter schädlich.

    ~/de/.htaccess:
    Options -Indexes
    Options +FollowSymLinks
    RewriteEngine On
    RewriteBase /
    {diverse Rewrite-Rules}

    Ist sichergestellt, dass diese Rewrite-Rules nicht dazwischenfunken?

    ~/de/admin/.htaccess:
    AuthType Basic
    AuthName "Access to /de/admin"
    AuthUserFile {....}/htpasswd
    Require user User1

    Wie genau lautet der Dateipfad für AuthUserFile? Dort muss der absolute Pfad im Dateisystem des Servers stehen.

    So long,
     Martin

    --
    In Ägypten haben früher 150000 Leute 35 Jahre lang an einer Pyramide gearbeitet. Aber bei uns arbeiten doppelt so viele Leute doppelt so lange allein an der Baugenehmigung.
      (Dieter Nuhr, deutscher Kabarettist)
    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
    1. Moin!

      Der Server ist ein Debian mit Apache 1.3

      hat es einen Grund, dass ihr noch die doch schon etwas betagte Apache-Version 1.3 einsetzt?#

      Wenn der Server "managed" ist, dann schlecht.

      - Sven Rautenberg

    2. Hi!

      Wie genau lautet der Dateipfad für AuthUserFile? Dort muss der absolute Pfad im Dateisystem des Servers stehen.

      Nö, dort kann auch was relativ zum ServerRoot stehen. Es wäre ungünstig, wenn das ServerRoot - aus welchen Gründen auch immer - mal umziehen müsste, und überall nur absolute Pfadangaben gestattet wären. Die meisten (wenn nicht gar alle) Datei- und Verzeichnisangaben können auch relativ zu irgendwas im Handbuch Nachlesbarem angegeben werden.

      Lo!

      1. Hallöchen, guten Morgen und Danke fürs Lesen.

        Wie genau lautet der Dateipfad für AuthUserFile? Dort muss der absolute Pfad im Dateisystem des Servers stehen.

        Der Pfad ist absolut und wird ja auch entdeckt von der xxx1.de-Domain.

        » {diverse Rewrite-Rules}

        Ist sichergestellt, dass diese Rewrite-Rules nicht dazwischenfunken?

        Die Rewrite-Rules des darüberliegenden Verzeichnisses sind SEO-basierende Maßnahmen, sprich z.B.:

        RewriteRule ^(.*)-p-(.*).html$ product_info.php?products_id=$2&%{QUERY_STRING}
        RewriteRule ^(.*)-c-(.*).html$ ....
        RewriteRule ^(.*)-m-([0-9]+).html$ ....
        RewriteRule ^(.*)-pi-([0-9]+).html$ ....
        RewriteRule ^(.*)-t-([0-9]+).html$ ....
        RewriteRule ^(.*)-a-([0-9]+).html$ ....
        RewriteRule ^(.*)-pr-([0-9]+).html$ ....
        RewriteRule ^(.*)-pri-([0-9]+).html$ ....
        RewriteRule ^(.*)-i-([0-9]+).html$ ....

        RewriteRule ^(.*)k,(.*)$  ....
        RewriteRule ^(.*)m,([a-z0-9-]+)$ ....
        RewriteRule ^(.*)c,([a-z0-9-]+)$ ....

        Wir definieren zusätzlich noch Error-Docs:

        ErrorDocument 400 /index_error_redirect.php

        die restlichen Error-Codes sind: 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 500 501 502 503 504 505

        Dies Deklarationen liegen in der .htaccess im ~/ und im ~/de. Die .htaccess im ~/de/admin enthält wirklich nur die 4 Zeilen für die Authentifizierung. Hat es vielleicht etwas mit den Error-Dokumenten zu tun?

        *verwzeifelt-dreinblick*

        Gruß, Peter

        1. Hi!

          *verwzeifelt-dreinblick*

          Das nützt nichts. Schau lieber in die Logfiles: Access-Log (wird nicht sehr aussagekräftig sein), Error-Log und Rewrite-Log. Letzteres muss üblicherweise erst konfiguriert werden (RewriteLog und RewriteLogLevel), was Adminberechtigung erfordert. Außerdem ist es sehr umfangreich, was daran liegt, dass das Umschreiben kein sehr einfacher Vorgang ist.

          Lo!

  2. Problem gelöst.

    Eigentlich ziemlich einfach, und doch unterschätzt!

    Wir definieren zusätzlich noch Error-Docs:
    ErrorDocument 400 /index_error_redirect.php
    und folgende Error-Codes: 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 500 501 502 503 504 505

    Das ErrorDocument liegt natürlich falsch, wenn ich xxx2.com benutzte.
    Für xxx2.com ist natürlich htdocs/ das docroot, während für xxx1.de das docroot htdocs/de/ ist.
    Und in htdocs/de/ liegt die index_error_redirect.php.

    Einfach die index_error_redirect.php von htdocs/de nach htdocs/ nochmal kopiert und alles war gut.

    Erschüttert hat mich nur, dass ich fast 30 min. mit dem 2nd-Lvl-Support von 1&1 verbracht habe und die mir zwar viele schöne Geschichten erzählt hat, die vielleicht auch so stimmen, aber die profane Lösung nicht fanden... Egal.

    Ich bin nur happy, dass es geklappt hat. :D

    Gruß, Peter