Nick als GET Parameter weiterleiten

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

  • Nick als GET Parameter weiterleiten

    Hallo, eigentlich habe ich schon öfter mod_rewrite eingesetzt. Bisher klappte es wunderbar ich verstehe nur nicht warum folgendes nicht funktioniert.


    Ich schreibe in die .htaccess

    RewriteEngine on
    RewriteRule ^(.+)$ profil.php?nick=$1 [L]


    Also wenn ein Nickname direkt hinter der Domain eingegeben wird, dann soll der Nickname an profil.php weitergeleitet werden.

    Wenn ich in der profil.php aber sowas schreibe:
    print_r($_GET);

    kommt sowas raus:
    Array ( [nick] => profil.php )

    Ich verstehe das nicht. Wie müßte ich denn die .htaccess bearbeiten?
    Gut geraten ist halb gewußt.

  • #2
    Und warum post du hirnlos in SEO - Suchmaschinen Tricks und Tipps? *move*

    Kommentar


    • #3
      Ja sorry. Ich hatte nur SEO gelesen.

      Hat denn keiner ein Tip warum bei

      RewriteRule ^(.+)$ profil.php?nick=$1 [L]

      das hier :
      PHP-Code:
      Array ( [nick] => profil.php 
      raus kommt?

      Wie könnte ich die .htaccess Datei noch bearbeiten damit das richtig geht?
      Gut geraten ist halb gewußt.

      Kommentar


      • #4
        Afaik kriegt mod_rewrite nur den Teil mit der nach deiner Domain kommt d.h. wenn die komplette URL http://www.deineDomain.de/pfad/php.php ist dann wird mod_rewrite nur /pfad/php.php "sehen". Bevor du also den rewrite machst musst du erst prüfen ob die erhaltene URL überhaupt deinen Bedingungen zum umschreiben entspricht. Such mal nach mod_rewrite und bedingter Filterung in der SuMa deiner Wahl.
        Zu deiner Frage warum es nicht funzt, kann ich nur sagen: Es funzt genau so wie du es geschrieben hast (was aber nicht zwangsläufig das sein muss was du willst )
        Deine Regel sagt einfach: Matche alles vom Anfang bis zum Ende des Strings und hänge es an die URL an. Wenn die URL jetzt also /profil.php ist dann matched der RegExp genau das und hängt es hinten an.

        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          Naja, wenn nichts "/" eingegeben wurde soll die
          index.php aufgerufen werden, was die Startseite darstellt.

          Wenn ich aber mindesten 1 Zeichen z.B. mein Nicknamen "/martinm79" eingebe,soll es zu
          profil.php?nick=martinm79
          geleitet werden.

          Na ich suche erstmal nach bedingter Filterung.Vielleicht finde ich ja was. :/
          Gut geraten ist halb gewußt.

          Kommentar


          • #6
            Ich habe dazu nichts gefunden. :/

            Und habe mal jetzt sowas probiert:

            RewriteRule ^(.+)$ profil.php?nick=$1%{QUERY_STRING} [L]


            Und denn kam
            PHP-Code:
            Array ( [nick] => profil.phpnick=martinm79 
            Also der Nick ist schon irgendwie dadrinne. :/

            Also %{QUERY_STRING} fügt hinten schon was an. Aber warum steht der Dateiname profil.php da und denn noch ohne ? Zeichen. Ich versteh das nicht.
            Gut geraten ist halb gewußt.

            Kommentar


            • #7
              Also meine Lösung habe ich immer noch nicht.

              Soweit geht es.
              PHP-Code:
              RewriteEngine on
              RewriteRule 
              ^([0-9|a-z|-]+)$ index.php?nick=$[L
              Dann sind aber nur Zeichen von 0-9 a-z und Bindestriche zulässig.

              Ich würde es gerne so haben das ich auch Leereichen und Sonderzeichen wie
              domain.de/martin%20m79
              mit übergeben kann.

              Was müßte ich denn an dem Regex noch verändern?
              Gut geraten ist halb gewußt.

              Kommentar

              Lädt...
              X