Patrick aus BS: Fehler nach Serverumzug, evtl. .htaccess Options +MultiViews

Hallo ihr,

ich bin servertechnisch vor ein paar Tagen umgezogen. Die wichtigsten Änderungen waren eigentlich nur, dass wir vorher einen Apache 1.3 laufen hatten und nun einen Apache 2.x (weiß nicht genau, da leider derzeit niemand erreichbar ist). Wir haben statt php 5.2.x, nun 5.3, aber das dürfte hierbei irrelevant sein.

Problem ist nun folgendes:
andere Verhaltensweise von Apache 2.x bei .htaccess-Dateien, vermutlich Options: +MultiViews,
Datei-Alternativen zur index werden nicht genutzt und führen zum 404, sprich wenn der Link z.B. http://www.domain.de/altern/ aufgerufen wird, greift er (auf dem alten Sever) vorzugsweise auf die altern.php (oder auch .html, .xml, etc.) im Hauptverzeichnis zu. Erst wenn die nicht aufzufinden ist, gibt er normalerweise (auf dem alten Server) einen 404, der durch die .htaccess wieder auf die index.php verweist.

die .htaccess

  
Options +MultiViews  
  
<Files .htaccess>  
order allow,deny  
deny from all  
</Files>  
  
<Files index>  
SetHandler af_php  
</Files>  
  
ErrorDocument 400 /index.php  
ErrorDocument 401 /index.php  
ErrorDocument 402 /index.php  
ErrorDocument 403 /index.php  
ErrorDocument 404 /index.php  
ErrorDocument 500 /index.php  

Hat jemand eine Idee, ob die Lösung tatsächlich in der .htaccess zu suchen ist, da Apach 1.3 und 2.x diesen Part unterschiedlich interpretieren oder ob der Hund evtl. doch woanders begraben liegen sein müsste...?

Recherchen über Google & Co., sowie hier in der Historie, haben scheinbar nichts ergeben.

Bin für jeden Tipp dankbar.

Gruß Patrick

  1. Moin!

    ich bin servertechnisch vor ein paar Tagen umgezogen. Die wichtigsten Änderungen waren eigentlich nur, dass wir vorher einen Apache 1.3 laufen hatten und nun einen Apache 2.x (weiß nicht genau, da leider derzeit niemand erreichbar ist).

    <?php echo $_SERVER["SERVER_SOFTWARE"] ?>

    oder

    <?php phpinfo(); ?>

    Problem ist nun folgendes:
    andere Verhaltensweise von Apache 2.x bei .htaccess-Dateien, vermutlich Options: +MultiViews,
    Datei-Alternativen zur index werden nicht genutzt und führen zum 404, sprich wenn der Link z.B. http://www.domain.de/altern/ aufgerufen wird, greift er (auf dem alten Sever) vorzugsweise auf die altern.php (oder auch .html, .xml, etc.) im Hauptverzeichnis zu.

    Ich sehe nichts, wo das konfiguriert sein soll. Hat das eventuell mod_speling erledigt?

    Erst wenn die nicht aufzufinden ist, gibt er normalerweise (auf dem alten Server) einen 404, der durch die .htaccess wieder auf die index.php verweist.

    Es ist wichtig zu wissen, wie der Indianer konfiguriert ist, d.h. ohne die .htaccess. Und, was Du in dieser ändern darfst. (Falls es ein shared host ist.) Wenigstens den Hoster und das Paket solltest Du nennen.

    MFFG (Mit freundlich- friedfertigem Grinsen)

    fastix

    1. Hallo fastix,

      ist nen Cloudserver... also wir sind so gesehen allein auf einer "Maschine". Wenn ich den Serverleuten sage, dass sie etwas bestimmtes für mich anpassen sollen, ist das kein Thema. Problem ist nur, dass grad Wochenende ist und die da halt nur ne Notbesetzung haben, da es ein eher kleiner Anbieter ist, der aber widerum einen ziemlich guten Service hat.

      In der phpinfo() habe ich keine Angaben zur Version des Apache gefunden.

      <?php echo $_SERVER["SERVER_SOFTWARE"] ?>
      gibt ebenfalls nur "APACHE" zurück.

      Ansonsten sagte mir grad ein Bekannter, dass es eigentlich nicht an der .htaccess liegen dürfte...

      Zitat
      "Der Syntax der htaccess unterscheidet sich eigentlich nicht. Eher vermute ich, dass die AllowOverride Direktiven in der globalen Config anders gesetzt sind"

      Vielleicht hilft das weiter. Mir sagt das so nichts, aber ggf. kann ich dort jemandem ne Richtung weisen, bis das Team am Montag wieder komplett ist.

      Danke für eure Mühe und Ideen...

      Gruß Patrick

      1. Hi,

        Ansonsten sagte mir grad ein Bekannter, dass es eigentlich nicht an der .htaccess liegen dürfte...

        Zitat
        "Der Syntax der htaccess unterscheidet sich eigentlich nicht. Eher vermute ich, dass die AllowOverride Direktiven in der globalen Config anders gesetzt sind"

        Das wäre auch meine erste Vermutung gewesen.

        Vielleicht hilft das weiter. Mir sagt das so nichts, aber ggf. kann ich dort jemandem ne Richtung weisen, bis das Team am Montag wieder komplett ist.

        AllowOverride bestimmt, welche Optionen du überhaupt in einer .htaccess setzen darfst. Wenn dort der Wert "Options" nicht gesetzt ist, dann kannst du MultiViews auf der Ebene gar nicht aktivieren.
        Schau also mal in der zentralen Serverkonfiguration (httpd.conf, httpd-vhosts.conf, etc.), was für AllowOverride gesetzt ist.
        http://httpd.apache.org/docs/2.2/mod/directive-dict.html#Override

        MfG ChrisB

        --
        RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
        1. Hallo,

          AllowOverride bestimmt, welche Optionen du überhaupt in einer .htaccess setzen darfst. Wenn dort der Wert "Options" nicht gesetzt ist, dann kannst du MultiViews auf der Ebene gar nicht aktivieren.

          schon richtig - aber der Versuch, es dennoch zu tun, würde dann AFAIK zu einem 500er führen. Davon berichtet Patrick aber nichts; die Konfiguration muss demnach formal in Ordnung sein.

          Ciao,
           Martin

          --
          Die meisten Menschen werden früher oder später durch Computer ersetzt.
          Für manche würde aber auch schon ein einfacher Taschenrechner genügen.
          Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
          1. Hi,

            AllowOverride bestimmt, welche Optionen du überhaupt in einer .htaccess setzen darfst. Wenn dort der Wert "Options" nicht gesetzt ist, dann kannst du MultiViews auf der Ebene gar nicht aktivieren.

            schon richtig - aber der Versuch, es dennoch zu tun, würde dann AFAIK zu einem 500er führen.

            Stimm. Außer, wenn AllowOverride None gesetzt ist - dann kümmert sich der Häuptling gar nicht um evtl. vorhandene .htaccess-Dateien.

            MfG ChrisB

            --
            RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
            1. Hallo allerseits,

              danke für eure Mühen und Gedanken... wir haben den Fehler gestern Abend gefunden und beseitigen können... dafür laufen heute wieder andere Dinge schief.

              Der Fehler lag tatsächlich in der .htaccess
              Hierzu die Beschreibung von unseren Server-Leuten:
              --------------------
              [...] Um die MultiViews unter Apache2 zu benutzen, müssen diese natürlich einmal mit

              Options +MultiViews

              aktiviert werden und zudem, da liegt der Unterschied zur alten Apache-Version, muss MultiviewsMatch explizit angegeben werden. Durch das Hinzufügen der Zeile

              MultiviewsMatch any

              in der .htaccess [...] ist der Fehler nun behoben.
              --------------------

              Das soweit nur als Lösung für alle, falls hier mal jemand nach dem Problem suchen sollte. ;-)

              LG Patrick