Ankündigung

Einklappen
Keine Ankündigung bisher.

RewriteRule

Einklappen

Neue Werbung 2019

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

  • RewriteRule

    Hallo

    Ich suche nach einer Möglichkeit kurze URLs zu nutzen.

    Wie kann ich solche URLs

    http://www.example.com/de/index.php?site=foo

    mit Eingabe von

    http://www.example.com/foo

    erreichen?

    Das hier schein nicht zu funktionieren
    Code:
    RewriteRule ^(login)$ /de/index.php?site=login
    Bin dankbar für Tipps!


  • #2
    Müsste:
    Code:
    RewriteEngine On
    RewriteRule ^([^/]*)$ /de/index.php?site=$1 [L]

    Gibt doch haufenweise Generatoren für sowas.

    Ich finde den ganz klasse: http://www.generateit.net/mod-rewrite/index.php
    Auf der Seite gibt es noch zahlreiche andere Generatoren ...
    (Keine Ahnung wie die Profi Meinung dazu ist)

    Kommentar


    • #3
      Ja, gibt es, nur die scheinen auf meinen Fall nicht zu funktionieren..
      Z.B.
      http://www.ipdistance.com/mod_rewrite.php

      URL:
      http://www.foo.com/de/index.php?site=login

      RewriteEngine On
      RewriteRule ^([^/]*)\.html$ /de/index.php?site=$1 [L]

      http://www.foo.com/login

      Output: Seite existiert nicht..

      Kommentar


      • #4
        Code:
        ^([^/]*)\.html$
        Laut Regel müsste die URL auf ".html" enden, um von der Regel erfasst zu werden...
        Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

        Kommentar


        • #5
          Wenn mich nicht alles täuscht ist der entscheidende Unterschied zwischen meiner und deiner Rewrite-Rule folgender Teil:

          Code:
          \.html
          Dies bedeutet dann, dass deine Rewrite-Rule funktioniert, solltest du folgende URL eingeben:

          Code:
          http://www.foo.com/login.html
          Entscheidend ist, dass bei deiner Rewrite-Rule ja das .html angehängt wird. (Was dein Generator macht, bei meiner kann man auswählen, welches Suffix verwendet wird).


          Ich kann natürlich auch mit meiner Theorie daneben liegen

          Kommentar


          • #6
            auch mit /login.html ändert sich nichts. Die Seite erscheint ohne css Formatierung und die Content-Seite wird nicht gefunden..

            Kommentar


            • #7
              Die Seite erscheint ohne css Formatierung und die Content-Seite wird nicht gefunden..
              Verstehe ich das richtig? Die Seite an sich erscheint schon, nur unformatiert und ohne eigentlichen Inhalt?

              Evtl. liegt dann der Fehler woanders? Nicht in der Rewrite-Rule sondern in deiner Verarbeitung der
              PHP-Code:
              ?site=login 
              Angabe?

              Kommentar


              • #8
                Hmm.. also die Seite: http://www.domain.com/de/index.php?site=login existiert und wird so wie sie soll im Browser angezeigt.
                Ich würde jetzt einfach gerne folgenden Aufruf möglich machen: http://www.domain.com/login
                Ich weiss grad nicht, wo ich ansetzen muss...

                Kommentar


                • #9
                  Dann müsstest du folgendes in deine .htaccess Datei schreiben

                  Code:
                  RewriteEngine On
                  RewriteRule ^([^/]*)$ /de/index.php?site=$1 [L]
                  Das ist die Rewrite-Rule, OHNE .html Endung. Das bedeutet, dass deine URL
                  http://www.domain.com/login
                  theoretisch möglich sein müsste.

                  Prüf doch auch, ob deine Webserver-Einstellungen richtig sind? Hast du das mod_rewrite Modul überhaupt aktiviert? Sind da ggf. andere .htaccess Dateien die deine Rewirte-Rule überschreiben oder sowas?

                  Kommentar


                  • #10
                    Habs mit dem Code nun hinbekommen. Hat mich verwirrt, da die ganzen Styles verloren gingen. Offenbar funktioniert das nur mit ganzen Pfad-Angaben...

                    Kommentar

                    Lädt...
                    X