sandra: mod rewrite in .htaccess funktioniert nicht

Servus Kollegen,

Ich möchte - dachte eigentlich ganz einfach - in einem Projekt aus meinen .php5 - Endungen eine .html Endung "machen"..

Hab das ganze so probiert:

RewriteEngine on
RewriteRule index.html$ index.php5

Was muss noch rein in die Datei, damit es funzt??

Vielen Dank!

  1. Hallo Sandra.

    Ich möchte - dachte eigentlich ganz einfach - in einem Projekt aus meinen .php5 - Endungen eine .html Endung "machen"..

    Hab das ganze so probiert:

    RewriteEngine on
    RewriteRule index.html$ index.php5

    Was muss noch rein in die Datei, damit es funzt??

    Bei mir „funzt“ es auf diese Art und Weise wie gewünscht; die PHP-Datei ist als Ressource „index.html“ erreichbar.

    Einen schönen Dienstag noch.

    Gruß, Ashura

    --
    sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
    „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
    [HTML Design Constraints: Logical Markup]
  2. Servus Kollegen,

    Servus Kollegin!

    Ich möchte - dachte eigentlich ganz einfach - in einem Projekt aus meinen .php5 - Endungen eine .html Endung "machen"..

    Und zwar wahrscheinlich auch in Unterverzeichnissen.

    Hab das ganze so probiert:

    RewriteEngine on
    RewriteRule index.html$ index.php5

    Was muss noch rein in die Datei, damit es funzt??

    Folgendes hat bei mir geklappt:

    RewriteEngine on
    RewriteRule index.html$ index.php5
    RewriteRule (.*)/index.html$ $1/index.php5

    lg, David

    1. RewriteEngine on
      RewriteRule index.html$ index.php5
      RewriteRule (.*)/index.html$ $1/index.php5

      Was für ein Quark! Die letzte Zeile brauchst du gar nicht. Ich nehme an, dass du mod_rewrite nicht aktiviert hast.

      BTW:

      RewriteEngine on
      RewriteRule (.*).html$ $1.php5

      löst das Problem nicht nur für index.html-Dateien.

      lg, David

      1. Was für ein Quark! Die letzte Zeile brauchst du gar nicht. Ich nehme an, dass du mod_rewrite nicht aktiviert hast.

        Vielen Dank schonmal!

        Aber: wo kann mod_rewrite aktiviert werden? Bin absoluter mod_rewrite-Neuling. Hab in php.ini nix gefunden.

        Grüße

        1. Moin,

          wo kann mod_rewrite aktiviert werden? Bin absoluter mod_rewrite-Neuling. Hab in php.ini nix gefunden.

          nö, natürlich nicht. Das hat ja auch mit PHP nichts zu tun.
          Das Modul mod_rewrite selbst muss in der Apache-Konfigurationsdatei (üblicherweise httpd.conf) auch eingebunden werden. Das scheint aber bei dir sowieso der Fall zu sein, sonst würdest du nämlich beim Zugriff auf das Verzeichnis mit deiner .htaccess-Datei einen '500 Internal Server Error' bekommen, weil der Apache plötzlich Direktiven finden würde, die er nicht kennt. So gesehen war der Tipp von David vielleicht gut gemeint, aber leider wertlos.

          Warum das bei dir nicht funktionieren will, ist mir zwar auch schleierhaft, aber ich bin auch der Meinung, dass du mit wahsagas Empfehlung in deinem Fall besser fährst.

          So long,
           Martin

          --
          Lieber Blödeleien als blöde Laien.
  3. hi,

    Ich möchte - dachte eigentlich ganz einfach - in einem Projekt aus meinen .php5 - Endungen eine .html Endung "machen"..

    Warum möchtest du dafür die RewriteEngine anschmeißen?

    Weiseo doch einfach deinen Server an, Dateien mit der Endung .html als PHP(5) parsen zu lassen.

    Sollte in etwa so gehen:

    <FilesMatch ".html$">
    ForceType application/x-httpd-php
    </FilesMatch>

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Hallo wahsaga.

      Warum möchtest du dafür die RewriteEngine anschmeißen?

      Weiseo doch einfach deinen Server an, Dateien mit der Endung .html als PHP(5) parsen zu lassen.

      Hm, warum sollte man dies tun, wo gerade doch letzteres weitaus ressourcenhungriger sein dürfte?
      Schließlich würde dadurch jedes einzelne angeforderte HTML-Dokument durch den PHP-Parser gejagt, unabhängig davon, ob überhaupt PHP-Code enthalten ist, oder nicht.

      Überhaupt sollte man, wenn man schon zu mod_rewrite greift, gleich ganz sämtliche Dateiendungen aus der Adressleiste verbannen. Dadurch werden die URIs lesbarer und man hält sich die Möglichkeit offen, die serverseitige Logik zu wechseln, ohne dass auch nur eine einzige URI ungültig wird.

      Einen schönen Dienstag noch.

      Gruß, Ashura

      --
      sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
      „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
      [HTML Design Constraints: Logical Markup]
      1. hi,

        Weiseo doch einfach deinen Server an, Dateien mit der Endung .html als PHP(5) parsen zu lassen.

        Hm, warum sollte man dies tun, wo gerade doch letzteres weitaus ressourcenhungriger sein dürfte?

        Ich hatte aus der Fragestellung herausgelesen, dass es sowieso um _alles_ ging, was auf .html endet.

        Überhaupt sollte man, wenn man schon zu mod_rewrite greift, gleich ganz sämtliche Dateiendungen aus der Adressleiste verbannen. Dadurch werden die URIs lesbarer

        Ja, da bin ich ja mittlerweile auch Fan von.

        Allerdings sollte man das Argument, dass man damit bspw. dem Nutzer das Abspeichern und wieder-aufrufen von der lokalen Platte erschwert, berücksichtigen.
        Aber ich denke, dass kann ich in Kauf nehmen.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }
        1. Hallo wahsaga.

          Allerdings sollte man das Argument, dass man damit bspw. dem Nutzer das Abspeichern und wieder-aufrufen von der lokalen Platte erschwert, berücksichtigen.

          Der IE weigert sich tatsächlich, eine solcherart gestaltete Ressource zu speichern, auch Gänsefüßchen nützen nichts.

          (Und wieder einmal erfreue ich mich an den typischen MS-Fehlermeldungen: „Es ist ein Fehler aufgetreten.“ Toll! Und warum?)

          Aber ich denke, dass kann ich in Kauf nehmen.

          Dem kann ich mich anschließen, die Vorteile überwiegen für mich einfach.

          Einen schönen Mittwoch noch.

          Gruß, Ashura

          --
          sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
          „It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.“
          [HTML Design Constraints: Logical Markup]
          1. Hallo.

            (Und wieder einmal erfreue ich mich an den typischen MS-Fehlermeldungen: „Es ist ein Fehler aufgetreten.“ Toll! Und warum?)

            Die Information, welche Art von Fehler aufgetreten ist, wäre ja bereits ein Anfang, aber da verlangen wir wohl einfach zuviel.
            MfG, at

  4. Ich bins nochmal.

    Was muss noch rein in die Datei, damit es funzt??

    Hmm... ich hätte noch eine Idee. Kann es sein, dass du die Datei zwar unter .../index.html, aber nicht unter .../ abrufen kannst - die "virtuelle" index.html also nicht als DirectoryIndex fungieren kann? Das wäre dann meines Wissens gar kein Wunder.

    In dem Falle könnte ich mir

    RewriteRule (.*)/$ $1/index.php5

    vorstellen, aber vorsicht, is nicht getestet ;-)

    Grüße,
    David