Thomas: .htaccess & dateien parsen lassen...

Hallo!

Ich habe eine Datei count.php, die mit jeder *.php *.html? geparst werden sollen ...
Der Link stimmt, denn wenn ich diesen link per include in eine datei einfüge funktioniert es, aber wenn ich dies in die .htaccess-datei schreibe, funktioniert es nicht :-(
Was stimmt an diesem Code nicht?

  
<FilesMatch "\.(php)$">  
 php_value short_open_tag "Off"  
 php_value auto_append_file "/count.php"  
 </FilesMatch>  
  
AddType application/x-httpd-php .htm .html  
 <FilesMatch "\.(html?)$">  
 php_value short_open_tag "Off"  
 php_value auto_append_file "/count.php"  
 </FilesMatch>  

Danke
Thomas

  1. hi,

    Ich habe eine Datei count.php, die mit jeder *.php *.html? geparst werden sollen ...

    Du meinst, dass diese Datei automatisch "angehängt" werden soll.

    Der Link stimmt, denn wenn ich diesen link per include in eine datei einfüge funktioniert es, aber wenn ich dies in die .htaccess-datei schreibe, funktioniert es nicht :-(
    Was stimmt an diesem Code nicht?

    php_value auto_append_file "/count.php"

    Bist du sicher, dass diese Datei direkt im _Wurzelverzeichnis_ des Webserver-Rechners liegt?

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Hallo!»» hi,

      Ich habe eine Datei count.php, die mit jeder *.php *.html? geparst werden sollen ...

      Du meinst, dass diese Datei automatisch "angehängt" werden soll.

      genau das will ich...

      Der Link stimmt, denn wenn ich diesen link per include in eine datei einfüge funktioniert es, aber wenn ich dies in die .htaccess-datei schreibe, funktioniert es nicht :-(
      Was stimmt an diesem Code nicht?

      php_value auto_append_file "/count.php"

      Bist du sicher, dass diese Datei direkt im _Wurzelverzeichnis_ des Webserver-Rechners liegt?

      ehm, sry, liegt zwar nicht im wurzelverwzeichniss, steht aber auch bei mir ein bisschen anders, da hab ich nur unabsichtlich'n blödsinn gemacht
      der link stimmt auf jedenfall, geh aber in echt '/home/[benutzername]/www/home/count.php'
      per include hat es ja auch funktioniert!!!

      Danke
      Thomas

      1. Hallo,

        Bist du sicher, dass diese Datei direkt im _Wurzelverzeichnis_ des Webserver-Rechners liegt?
        ehm, sry, liegt zwar nicht im wurzelverwzeichniss, steht aber auch bei mir ein bisschen anders, da hab ich nur unabsichtlich'n blödsinn gemacht
        der link stimmt auf jedenfall, geh aber in echt '/home/[benutzername]/www/home/count.php'
        per include hat es ja auch funktioniert!

        da Du PHP als Modul einsetzt, gehe ich davon aus, daß es sich um einen lokalen Apachen auf Deinem PC handelt. Sieh doch mal in die Error-Logs. Gibt es dort weitere Anhaltspunkte; wenn ja - welche?

        Gruß aus Berlin!
        eddi

        --
        Wer Rechtschreibfehler findet, darf sie behalten.
        1. Hallo!

          in der Datei error_log steht nur:

          [Wed Feb 08 18:15:51 2006] [error] [client 85.125.156.84] File does not exist: /home/al367/www/home/ok4you/favicon.ico
          (gekürzt, ein paar andere links gibts auch, die aber nicht damit zutun haben... ( die entstanden bei neuem probieren und test, ...)

          also liegt in der nichts brauchbares

          Danke
          Thomas

  2. Hallo,

      
    
    >  php_value auto_append_file "/count.php"  
    
        #                          ^^^^^^^^^^  
    
    

    gibt den absoluten Pfad innerhalb des Dateisystems an und versuche es erneut.

    Gruß aus Berlin!
    eddi

    --
    Wer Rechtschreibfehler findet, darf sie behalten.
  3. echo $begrüßung;

    Was stimmt an diesem Code nicht?
    php_value short_open_tag "Off"

    Für boolsche Werte sollte php_flag verwendet werden. Wobei php_value auch funktioniert.

    Schau doch mal die Ausgabe von  phpinfo(4);  an. Werden die Änderungen in der "Local Value"-Spalte angezeigt?

    echo "$verabschiedung $name";

    1. Hallo!

      short_open_tag is bei beiden auf On, also scheint da irgendetwas nicht zu funktionieren :-(
      Was genau bedeutet das eigentlich & was muss ich ändern damit dies funktioniert?

      Danke
      Thomas

      1. echo $begrüßung;

        short_open_tag is bei beiden auf On, also scheint da irgendetwas nicht zu funktionieren :-(
        Was genau bedeutet das eigentlich & was muss ich ändern damit dies funktioniert?

        Läuft PHP überhaupt als Apache-Modul oder wird es als CGI ausgeführt? phpinfo() sollte dir das gleich im ersten Feld unter Server API sagen. Wenn dort etwas mit CGI steht kannst du eine Konfiguration über die .htaccess nicht vornehmen. An welchen Stellen überall PHPs CGI-Version nach Konfigurationsdateien sucht kann ich nicht genau sagen. Das Handbuchkapitel Runtime Configuration ist dazu leider recht unübersichtlich.

        echo "$verabschiedung $name";

        1. Hallo,

          Läuft PHP überhaupt als Apache-Modul oder wird es als CGI ausgeführt? phpinfo() sollte dir das gleich im ersten Feld unter Server API sagen. Wenn dort etwas mit CGI steht kannst du eine Konfiguration über die .htaccess nicht vornehmen. An welchen Stellen überall PHPs CGI-Version nach Konfigurationsdateien sucht kann ich nicht genau sagen. Das Handbuchkapitel Runtime Configuration ist dazu leider recht unübersichtlich.

          Dann wären etwas in den Logdaten zu finden, da die Angabe "php_value" zu einem Status 500 des Servers führen sollte. Aber ich halte es nach dem fehlenden Prüfen mittels phpinfo(); auch für möglich, daß für das entsprechende Verzeichnis durch Direktive Allowoverride ein Einlesen der .htaccess-Files ausbleibt...

          Ich muß Dir im übrigen beipflichten. Beim SAPI CGI PHPs sehe ich auch nicht mehr durch. Es wurde anscheinend so viel undokumentiert am ini-"Parser" herumgebastelt, sodaß Aussagen, die man für eine Version PHPs trifft, sich nicht mehr auf andere Versionen portieren lassen. Leider wird es auch in der Version 6 keine Threads geben :_(. Bald hat mit PHP so weit, daß ich komplett auf C umsteige.

          Gruß aus Berlin!
          eddi

          --
          Wer Rechtschreibfehler findet, darf sie behalten.
          1. Hallo!

            Läuft PHP überhaupt als Apache-Modul oder wird es als CGI ausgeführt?

            also unter "Server API" steht bei mir "Apache 2.0 Handler", d.h. das müsste passen...

            Dann wären etwas in den Logdaten zu finden, da die Angabe "php_value" zu einem Status 500 des Servers führen sollte. Aber ich halte es nach dem fehlenden Prüfen mittels phpinfo(); auch für möglich, daß für das entsprechende Verzeichnis durch Direktive Allowoverride ein Einlesen der .htaccess-Files ausbleibt...

            sry, aber das versteh ich nicht ganz...
            was müsste ich da ändern damit dies funktioniert?

            Danke
            Thomas

            1. Hallo Thomas,

              daß für das entsprechende Verzeichnis durch Direktive Allowoverride ein Einlesen der .htaccess-Files ausbleibt...
              sry, aber das versteh ich nicht ganz...
              was müsste ich da ändern damit dies funktioniert?

              Schreib mal Müll in die .htaccess - wenn das *keinen* 500 Internal Server Error produziert, dann wird die .htaccess nicht verarbeitet. Dann musst Du in die zentrale Apache-Konfiguration gehen und dort z.B. AllowOverride All aktivieren (für das entsprechende Verzeichnis).

              Viele Grüße,
              Christian

              1. Hallo Christian!

                In welcher Datei sollte der Fehler angezeigt werden, in der ganz normalen error_log?

                Welche nachteile kann das haben, wenn AllowOverride All aktiviert ist?

                Vielen Dank!
                Thomas

                1. PS: Was bedeutet "IndexIgnore .htaccess */.??* *~ *# */HEADER* */README* */_vti*
                  " in der .htaccess eigentlich?

                  thx
                  Thomas

                  1. In welcher Datei sollte der Fehler angezeigt werden, in der ganz normalen error_log?

                    Welche nachteile kann das haben, wenn AllowOverride All aktiviert ist?

                    PS: Was bedeutet "IndexIgnore .htaccess */.??* *~ *# */HEADER* */README* */_vti*
                    " in der .htaccess eigentlich?

                    Tschuldige, aber RTFM

                    Schnellüberblick über Alle Direktiven gibt unter http://httpd.apache.org/docs/2.2/mod/directives.html

                    Gruß aus Berlin!
                    eddi

                    --
                    Wer Rechtschreibfehler findet, darf sie behalten.
                    1. Hallo!

                      den Link gab es schon vorher, aber ich verstehs einfach nicht, sry, aber ich kenn mich mit apache relativ wenig aus...

                      Danke
                      Thomas

                  2. Hallo Thomas,

                    PS: Was bedeutet "IndexIgnore .htaccess */.??* *~ *# */HEADER* */README* */_vti*
                    " in der .htaccess eigentlich?

                    Was hast du an http://httpd.apache.org/docs/2.0/mod/mod_autoindex.html.en#indexignore nicht verstanden?

                    Grüße aus Nürnberg
                    Tobias

  4. Moin!

    Ich habe eine Datei count.php, die mit jeder *.php *.html? geparst werden sollen ...
    Der Link stimmt, denn wenn ich diesen link per include in eine datei einfüge funktioniert es, aber wenn ich dies in die .htaccess-datei schreibe, funktioniert es nicht :-(

    Was genau funktioniert nicht?

    <FilesMatch ".(php)$">

    php_value short_open_tag "Off"
    php_value auto_append_file "/count.php"
    </FilesMatch>

      
    Der Bezeichnung count.php nach zu Urteilen, kann es vielleicht sein, dass diese Datei nicht hinten, sondern vorne angehängt werden soll, also stattdessen  
      
     php\_value auto\_prepend\_file "/pfad/zu/count.php"  
      
    Du kannst zum Testen ja in die count.php eine Debug-Anweisung aufnehmen und schauen, ob diese ausgegeben wird.  
      
    Viele Grüße,  
    Robert
    
    1. Hallo!

      naja, ich wollte den bbclone "installieren" => http://help.bbclone.de/index.php?n=Setup.TestingBBClone
      wenn, ich es manuell in eine Seite einbaue funktioniert es, aber mit dem .htacces funktionierts nicht...

      ich hatte es auch schon mit einem die() ausprobiert, aber per .htaccess funktionierts einfach nicht...

      Danke
      Thomas