Heizer: Dateieindung weglassen

Liebes Forum

Ich habe mir irgendwann angewöhnt, die Endungen von Dateien in Links nicht zu schreiben, da sich die ja auch mal ändern können und eigentlich nicht wichtig sind. Auf meinem Linux-Apache und bei meinem Webhoster klappt das auch. Aber jetzt bin ich für einige zeit gezwungen, auf einem WindowsXP System zu programmieren, und ich habe mit XAMPP runtergeladen. Leider scheint das hier nicht zu funktionieren. Ich bekomme einen 404 beim Aufruf ohne die Endung (konkret ist es ".php"). Mit endung klappts.

Ich habe mir mal die httpd.ini durchgelesen, aber nichts gefunden, was sich danach anhört. Irgendwie muß es doch über content negotiation gehen, aber ich weiß nicht wie.

Ach, laut meiner httpd.conf ist MultiViews an.

Einen guten Morgen aus München

Heizer

  1. hallo,

    Ich habe mir irgendwann angewöhnt, die Endungen von Dateien in Links nicht zu schreiben, da sich die ja auch mal ändern können und eigentlich nicht wichtig sind.

    Das ist ein Irrtum. Und warum sich "Endungen" ändern sollten, ist nicht einzusehen.

    Ich bekomme einen 404 beim Aufruf ohne die Endung (konkret ist es ".php"). Mit endung klappts.

    Das liegt an "AddType application/x-httpd-php .php"  -  sofern da nichts anderes eingetragen ist. Siehe http://aktuell.de.selfhtml.org/artikel/server/apacheconf/apconf15.htm#a4

    Ich habe mir mal die httpd.ini durchgelesen

    Eine Datei mit diesem Namen gibt es normalerweise nicht.

    Grüße aus Berlin

    Christoph S.

    1. hallo,

      Ich habe mir irgendwann angewöhnt, die Endungen von Dateien in Links nicht zu schreiben, da sich die ja auch mal ändern können und eigentlich nicht wichtig sind.

      Das ist ein Irrtum. Und warum sich "Endungen" ändern sollten, ist nicht einzusehen.

      Konkret war das der Fall, als ich ein größeres Projekt geschrieben hatte, und alle Endungen von php-Dateien auf html gesetzt hatte - was ja für den Browser die richtige Angabe ist. Und dann habe ich es auf einen server hochgeldaen, auf dem ich die Zuweisung .html -> PHP nicht machen durfte. Was soll den an diesen Endungen so wichtig sein? Der Dateityp wird doch über MIME-TYPE bestimmt.

      Ich bekomme einen 404 beim Aufruf ohne die Endung (konkret ist es ".php"). Mit endung klappts.

      Das liegt an "AddType application/x-httpd-php .php"  -  sofern da nichts anderes eingetragen ist. Siehe http://aktuell.de.selfhtml.org/artikel/server/apacheconf/apconf15.htm#a4

      Sorry, da hast du was falsch verstanden. Die Datei wird schon als PHP ausgeführt, wenn ich beim Aufruf im Browser die Endung mitschreibe. Die Datei heißt immer xxx.php, aber ich will den Link nur xxx nennen. Da bekomme ich einen 404. Also: Die URL der Datei soll keine Endung haben, der Name der Datei schon.

      Ich habe mir mal die httpd.ini durchgelesen

      Eine Datei mit diesem Namen gibt es normalerweise nicht.

      Ja, ja, die Endungen...

      Grüße

      Heizer

      1. Moin!

        Konkret war das der Fall, als ich ein größeres Projekt geschrieben hatte, und alle Endungen von php-Dateien auf html gesetzt hatte - was ja für den Browser die richtige Angabe ist. Und dann habe ich es auf einen server hochgeldaen, auf dem ich die Zuweisung .html -> PHP nicht machen durfte. Was soll den an diesen Endungen so wichtig sein? Der Dateityp wird doch über MIME-TYPE bestimmt.

        Und der Server bestimmt den Mime-Typ über die Dateiendung.

        Also ist die Dateiendung nicht unwichtig. Und der Browser stört sich an der Dateiendung auch nicht, insbesondere nicht an ".php". Wenn du dem Benutzer was gutes tun willst (wobei fraglich ist, wieviele Benutzer das wirklich benötigen), dann setzt du mod_rewrite ein und änderst alle Endungen um auf die URL-Endung ".html" - wobei das ggf. ein ziemlicher Akrobatikakt werden kann, wenn man anhand der URL ".html" aufdröseln muß, ob damit jetzt eine echte ".html", oder vielleicht ".php" oder ".pl" gemeint ist, um nur ein paar Beispiele zu nennen.

        Sorry, da hast du was falsch verstanden. Die Datei wird schon als PHP ausgeführt, wenn ich beim Aufruf im Browser die Endung mitschreibe. Die Datei heißt immer xxx.php, aber ich will den Link nur xxx nennen. Da bekomme ich einen 404. Also: Die URL der Datei soll keine Endung haben, der Name der Datei schon.

        Dann mußt du Multiviews richtig konfigurieren.

        • Sven Rautenberg