Elke: Slash an URL anhängen wenn nicht eingegeben

Hallo liebe Community,

folgende .htaccess verwende ich in dem Verzeichnis "wissen".

RewriteEngine on  
RewriteOptions inherit  
  
RewriteCond %{HTTP_HOST} =www.domain.de  
RewriteCond %{REQUEST_FILENAME} !-f  
RewriteCond %{REQUEST_FILENAME} !-d  
  
RewriteRule ^(.*)$ index_dynamisch.php?url=%{REQUEST_URI} [L,NC,QSA]

Die .htaccess leitet zwecks Sumaoptimierung alle Domains auf http://www.wissen-script.de/ um. Zusätzlich wird ein statischer Aufbau im Verzeichnis "wissen" simuliert. Wird http://www.wissen-script.de/wissen/startseite  aufgerufen, wird "startseite" als Variable an index_dynamisch.php gesendet, diese Datei bedient sich in einer Datenbank und gibt den passenden Inhalt aus.

Mein Problem, ich schaffe es nicht diese .htaccess so zu erweitern dass an die "statischen" Verzeichnisse am Ende immer ein Schrägstrich angeheftet wird wenn keiner eingegeben wurde. Scripte dazu gibt es ja viele, allerdings bekomme ich es nicht hin dass diese zusammen mit obigem funktionieren.

Hoffe ihr könnt mir helfen. :-)

Liebe Grüße

Elke ;-)

  1. Mahlzeit Elke,

    Mein Problem, ich schaffe es nicht diese .htaccess so zu erweitern dass an die "statischen" Verzeichnisse am Ende immer ein Schrägstrich angeheftet wird wenn keiner eingegeben wurde. Scripte dazu gibt es ja viele, allerdings bekomme ich es nicht hin dass diese zusammen mit obigem funktionieren.

    Da ich vermute, dass Du einen Apache nutzt, würde ich Dir empfehlen, Dich über das Thema der "trailing-slash"-Problematik zu informieren.

    Gleich beim (bei mir) zweiten Treffer gibt's eine recht ausführliche Erklärung des Problems und Vorschläge zur Behebung - zwar auf englisch, aber das sollte eigentlich kein Problem darstellen, oder?

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
    1. Hallo EKKi,

      ja ich verwende Apache. Das Problem ist es nicht Lösungen zu finden, da gibt es viele. Habe schon duzende beim Googeln nach "Doppelter Contenten Slash anfügen" gefunden, allerdings wie schon gesagt, schaffe ich es gefundene Varianten zur bewältigung des Problems mit meiner .htaccess zu verbinden. :-(

      Liebe Grüße

      Elke ;-)

      1. Mahlzeit Elke,

        allerdings wie schon gesagt, schaffe ich es gefundene Varianten zur bewältigung des Problems mit meiner .htaccess zu verbinden. :-(

        Dann solltest Du vielleicht noch einmal den relevanten Teil Deiner .htaccess (der von Dir in Deinem ursprünglichen Beitrag enthaltene Teil entsprach nämlich allein schon von den verwendeten Domains her nicht dem übrigen Text) und eine erheblich umfangreichere Problembeschreibung wie in Deinem ursprünglichen Beitrag posten.

        Falls Du Deine echte eigene Domain nicht nennen willst, benutze die für Beispielfälle vorgesehenen Domains - nicht irgendwelche Fantasie-Namen.

        MfG,
        EKKi

        --
        sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
        1. Entschuldigung, ich hielt www.domain.de als gutes Beispiel um zu zeigen, dass hier jede beliebige Domain stehen kann.

          Die Domain befindet sich im Text wissen-script, die befindet sich anstelle von domain.de in meiner .htaccess.

          Liebe Grüße

          Elke

          1. Mahlzeit Elke,

            Entschuldigung, ich hielt www.domain.de als gutes Beispiel um zu zeigen, dass hier jede beliebige Domain stehen kann.

            Aha. Und die dafür vorgesehenen Beispiele (z.B. "example.com", "domain.test", "foo.example", "bar.invalid") hast Du nicht benutzt, weil ...?

            Was - glaubst Du - hält im Übrigen die Sedo GmbH als Eigentümer der von Dir verwendeten Domain davon, dass Du diese einfach für Beispiele benutzt?

            Die Domain befindet sich im Text wissen-script, die befindet sich anstelle von domain.de in meiner .htaccess.

            Wenn Du damit den Ausschnitt aus Deinem ursprünglichen Posting meinst: dieser enthält bereits mehrere Fehler ...

            RewriteCond %{HTTP_HOST} =www.domain.de

            Was genau soll das Gleichheitszeichen bewirken? Die Syntax für "RewriteCond" ist exakt definiert. Wenn Du also überprüfen willst, ob der HTTP_HOST *genau* der Zeichenfolge "www.example.com" entspricht, solltest Du einen *genau dafür* passenden regulären Ausdruck benutzen ... nicht einen, der auf "ein Gleichheitszeichen, gefolgt von dreimal dem Buchstaben w, gefolgt von irgendeinem Zeichen, gefolgt von [...]" passt.

            MfG,
            EKKi

            --
            sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
            1. Aha. Und die dafür vorgesehenen Beispiele (z.B. "example.com", "domain.test", "foo.example", "bar.invalid") hast Du nicht benutzt, weil ...?

              ...ich diese nicht kannte

              Was - glaubst Du - hält im Übrigen die Sedo GmbH als Eigentümer der von Dir verwendeten Domain davon, dass Du diese einfach für Beispiele benutzt?

              Ich bin mir sicher die GERWAN GmbH ist darüber entzückt, dass die einen Backlink von selfhtml bekommen. Das Selbe ist es doch mit beispiel.de, als würden solche Domains versehentlich ausgesucht werden.

              Liebe Grüße

              Elke

  2. Hi,

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d

    RewriteRule ^(.*)$ index_dynamisch.php?url=%{REQUEST_URI} [L,NC,QSA]

    Mein Problem, ich schaffe es nicht diese .htaccess so zu erweitern dass an die "statischen" Verzeichnisse am Ende immer ein Schrägstrich angeheftet wird wenn keiner eingegeben wurde.

    Dann prüfe zunächst ab, ob das letzte Zeichen ein / ist - und wenn nicht, mache einen expliziten Redirect auf die angeforderte Adresse mit / am Ende.

    MfG ChrisB

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

    Die .htaccess leitet zwecks Sumaoptimierung alle Domains auf http://www.wissen-script.de/ um.
    [...]

    Liebe Grüße

    Elke ;-)

    Sparst du schon für die Geschlechtsumwandlungs-OP, Max ...?

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
    1. Ich muss dcoh einer fremden Community nicht direkt meinen Namen auf die Nase binden, was untern MfG steht spielt doch sowieso keine Rolle.