mod_Rewrite Unterverzeichnis ohne index.html

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • mod_Rewrite Unterverzeichnis ohne index.html

    Moin,

    ich komme hier nicht weiter.
    Code:
    RewriteBase /news/Gesundheit
    RewriteRule news/Gesundheit/$  /news/kategorie\.php?kat=1
    RewriteRule news/Gesundheit/(.*)\.html$ /news/artikel\.php?url=$1 [L]
    Die erste Rule funktioniert nicht so wie ich es gerne hätte. Alles was auf "/news/Gesundheit/artikel.html" ende wird korrekt umgeschrieben. Jetzt möchte ich aber gerne das ein Aufruf von "/news/Gesundheit/" auf kategorie.php geleitet wird. Das bekomme ich aber nicht hin. Weis hier jemand weiter?

    Thx Susi
    PHP 8.0, MariaDB 10.5 auf U20.04

  • #2
    Die Regeln sehen okay aus. Das Escaping des Punkts auf der rechten Seite kannst du noch weglassen, weil an der Stelle kein regulärer Ausdruck steht. Du brauchst für die beiden Regeln zudem keine RewriteBase, weil die Pfade auf der rechten Seite ohnehin absolut angegeben sind. Stört aber auch nicht.

    Existiert das Verzeichnis /news/Gesundheit vielleicht?

    Kommentar


    • #3
      Ja, die Regels sehen OK aus. Jedoch funktioniert die Erste Regel nicht wie sie soll.
      Ich könnte zwar ein Verzeichnis anlegen "/news/Gesundheit/", das würde sofort funktionieren. Aber ich möchte das ganze ja über die kategorie.php mit nur einer Datei steuern.

      Ich möchte dort NICHT "/news/Gesundeheit/index.html" sondern nur "/news/Gesundheit/" drin stehen haben. Nur ne Kleinigkeit, aber es sieht ebsser aus und könnte auch SEO-Technisch was besser sein.
      Zuletzt geändert von SusiSorglos; 05.11.2017, 19:50.
      PHP 8.0, MariaDB 10.5 auf U20.04

      Kommentar


      • #4
        Du könntest noch mal versuchen, dein Setup ausführlicher zu beschreiben. Welche Datei wo liegt und dergleichen. Ich habe deinen Aufbau zum Test sogar nachgestellt gehabt und bei mir lief es. Auch wenn die Aussage nicht konkret hilft.

        Debugging von mod_rewrite ist leider nervig. Da müsste ich mich auch erst wieder einlesen.

        Kommentar


        • #5
          Zitat von SusiSorglos Beitrag anzeigen
          Moin,

          ich komme hier nicht weiter.
          Code:
          RewriteBase /news/Gesundheit
          RewriteRule news/Gesundheit/$  /news/kategorie\.php?kat=1
          RewriteRule news/Gesundheit/(.*)\.html$ /news/artikel\.php?url=$1 [L]
          Die erste Rule funktioniert nicht so wie ich es gerne hätte. Alles was auf "/news/Gesundheit/artikel.html" ende wird korrekt umgeschrieben. Jetzt möchte ich aber gerne das ein Aufruf von "/news/Gesundheit/" auf kategorie.php geleitet wird. Das bekomme ich aber nicht hin. Weis hier jemand weiter?

          Thx Susi
          So sollte es funktionieren
          Code:
          RewriteBase /
          RewriteRule news/Gesundheit/$  /news/kategorie\.php?kat=1
          RewriteRule news/Gesundheit/(.*)\.html$ /news/artikel\.php?url=$1 [L]
          Zumindest tut es das auf htaccess Tester - madewithlove

          Gruß Thomas

          Kommentar


          • #6
            Das ist aber wahrscheinlich ein Fehler in dem Tool. Die Pfade auf der rechten Seite der RewriteRules sind absolut angegeben (beginnen mit einem Slash und beziehen sich daher auf den Server-Root). Darauf sollte eine RewriteBase keinen Einfluss haben.

            The RewriteBase directive specifies the URL prefix to be used for per-directory (htaccess) RewriteRule directives that substitute a relative path.
            - mod_rewrite - Apache HTTP Server Version 2.4 (Hervorhebung hinzugefügt)

            Grob dazu gibt es auch eine Issue.

            - https://github.com/madewithlove/htac...e.be/issues/41
            Zuletzt geändert von mermshaus; 17.11.2017, 18:44.

            Kommentar

            Lädt...
            X