Potter68: lesbare URL

Hallo Forum,

ich habe einiges über .htaccess und mod_rewrite gelesen. Finde aber keine Lösung für mein Problem:

Ich habe eine Datenbank-Anwendung, mit mehreren Adressen. Jede Adresse kann angewählt werden und wird dann über z.B. '/index.php?id=196' angezeigt - ich bekomme also über die ID Zugriff auf die Datensätze.

Das Ganze ist bzgl. URL nicht sonderlich lesbar und mir schwebt vor, dass der Seitenname umgeschrieben werden soll. Also, ich werte die ID aus und zeige in der URL dann z.B. Name und Adresse des Datenbankeintrags an: statt '/index.php?id=196' soll dann z.B. '/peter-meier-hamburg' stehen (die URL ist dann natürlich rein virtuell - ich kann ja nicht für die zig-Tausend Einträge je eine Seite anlegen). Geht so etwas?

Ich danke Euch schon mal für die (hoffentlich) vielen Tipps!

Gruß Potter68

  1. Moin!

    Geht so etwas?

    Ja. Mit mod rewrite.

    MFFG (Mit freundlich- friedfertigem Grinsen)

    fastix

  2. Hi!

    Also, ich werte die ID aus und zeige in der URL dann z.B. Name und Adresse des Datenbankeintrags an: statt '/index.php?id=196' soll dann z.B. '/peter-meier-hamburg' stehen (die URL ist dann natürlich rein virtuell - ich kann ja nicht für die zig-Tausend Einträge je eine Seite anlegen). Geht so etwas?

    Ja, nur dass du dann nicht über die ID sondern über den Namen suchen musst. Du könntest dafür mit mod_rewrite von /peter-meier-hamburg nach /index.php?name=peter-meier-hamburg umschreiben.

    Lo!

    1. Hi!

      @Potter68: Bitte antworte doch direkt auf die Antwort, auf die du dich beziehst, anstatt eine Sammelantwort zu generieren, wenn abzusehen ist, dass darauf weitere individuelle Antworten folgen. Das gibt sonst nur ein schwer nachvollziehbares Durcheinander. Ich tu mal so, als ob deine Antwort zwischen diesem und meinem vorherigen Posting steht.

      [...] statt '/index.php?id=196' soll dann z.B. '/peter-meier-hamburg' stehen [...]
      Ja, nur dass du dann nicht über die ID sondern über den Namen suchen musst. Du könntest dafür mit mod_rewrite von /peter-meier-hamburg nach /index.php?name=peter-meier-hamburg umschreiben.
      ich dachte, bei dem mod_rewrite ist es genau anders herum: ich gebe z.B. als URL ../peter-meier-hamburg/ ein und kann mir dann mit dem mod_rewrite die Parameter herausziehen. Da ich das mit Links realisiere muss ich doch immer einen Parameter mit übergeben, oder etwa nicht?

      mod_rewrite kann dir nicht direkt dabei helfen, die ID zu einem Namen zu finden, und es hat auch nichts mit Parameter-Herausziehen zu tun. Man schreibt damit lediglich Requests um, eine Richtung gibt es dabei nicht. Das Umschreib-Ziel kann dann allerdings so aussehen, dass PHP daraus Parameter bilden kann.

      Lo!

      1. Oups, das ist das erste Forum, dass sich verzweigt.

        Zum Thema: irgendwie werd ich aus diesem mod_rewrite noch nicht ganz schlau. Die Parameter zu erhalten/extrahieren ist auch garnicht das Problem! Das Problem ist die URL. Aber trotz der ganzen Antworten von Euch - hier noch einmal danke - weiss ich immer noch nicht, wie ich das machen kann.

        Falls jemand Lust hat mir das einmal ausführlich zu erklären, oder falls jemand ein gutes Tutorial kennt: immer her damit!

        Gruß Potter68

        1. Moin!

          Du willst ein Rezept?

          Zuerst brauchst Du eine Regel, wie die ULR künftig aufzubauen sind.

          Als zweites brauchst Du eine weitere identifizierende (Index-Typ: unique!)Spalte in der Tabelle oder eine weitere Tabelle in der Datenbank für die Zuordnung. Du brauchst für die Bildung der Bezeichner also etwas, was lesbar ist und den Datensatz auch eineindeutig bezeichnet - sonst musst Du ggf. noch eine Auswahlseite bauen. (http://de.wikipedia.org/wiki/DM)  Beachte hierbei die (Nicht-)Zulässigkeit oder das nicht zuverlässige Funktionieren von Umlauten in der URL. urlencode in PHP müsste es aber "tun".

          Dann sorgst Du dafür, dass mit .htaccess und mod_rewrite Deine Links, die wie folgt aussehen

          http://example.org/Vorname_Nachname_Ort.htm

          umgebaut werden:

          RewriteRule   ^(.*)_(.*)_(.*).htm$   /finder.php?vn=$1&nn=$2&ort=$3 [L]

          oder

          RewriteRule   ^(.*).htm$   /finder.php?q=$1 [L]

          Klar, dass keine andere Seite die Endung ".htm" haben darf und das Du z.B. bei mehreren Vornamen keinen Unterstrich zur Trennung einsetzen kannst (Beispiel 1). Ferner würde ich mich auf den ASCII-Satz ohne Leerzeichen und Sonderzeichen beschränken um Probleme zu vermeiden. Planung ist eben alles.

          Falls Deine Seiten iregndwie automatisch erzeugt werden musst Du natürlich "ggf." daran denken, die Links auch automatisch beim Abruf zu ändern.

          MFFG (Mit freundlich- friedfertigem Grinsen)

          fastix

          1. Hi!

            Dann sorgst Du dafür, dass mit .htaccess und mod_rewrite Deine Links, die wie folgt aussehen
            http://example.org/Vorname_Nachname_Ort.htm
            umgebaut werden:
            RewriteRule   ^(.*)_(.*)_(.*).htm$   /finder.php?vn=$1&nn=$2&ort=$3 [L]

            Warum soll da unbedingt ein .htm dran hängen? Das macht eine URL doch gleich wieder weniger menschlich nutzbar, weil irgendein nur technisch notwendiges Anhängsel angehängt werden muss.

            Klar, dass keine andere Seite die Endung ".htm" haben darf

            Nö, selbst wenn es real existierende Dateien mit .htm geben sollte, kann man das als Bestandteil von Umschreibregeln verwenden. Man muss lediglich mit einer (oder zwei) passenden RewriteCond dafür sorgen, dass real existierende Dateien (und Verzeichnisse) vom Umschreibprozess ausgenommen werden.

            Lo!

            1. Moin!

              RewriteRule   ^(.*)_(.*)_(.*).htm$   /finder.php?vn=$1&nn=$2&ort=$3 [L]
              Warum soll da unbedingt ein .htm dran hängen? Das macht eine URL doch gleich wieder weniger menschlich nutzbar, weil irgendein nur technisch notwendiges Anhängsel angehängt werden muss.

              Nun, man kann natürlich auch ein

              RewriteRule   ^about/(.*)_(.*)_(.*)$   /finder.php?vn=$1&nn=$2&ort=$3 [L]

              daraus machen, die Möglichkeiten sind unendlich.

              Klar, dass keine andere Seite die Endung ".htm" haben darf
              Nö, selbst wenn es real existierende Dateien mit .htm geben sollte, kann man das als Bestandteil von Umschreibregeln verwenden. Man muss lediglich mit einer (oder zwei) passenden RewriteCond dafür sorgen, dass real existierende Dateien (und Verzeichnisse) vom Umschreibprozess ausgenommen werden.

              Ich liebe es halt nach Möglichkeit(sic!) sofort mit einem [L] auf die Regel zu schießen um die Serverlast klein zu halten, das bedeutet die Kaskadierung von  Regeln tunlichst zu vermeiden wann immer das geht.

              MFFG (Mit freundlich- friedfertigem Grinsen)

              fastix

          2. Die HTM-Seite muss also garnicht existieren. Der Text vor .htm wird lediglich per mode_rewrite umgewandelt und dann wie in Deinem Beispiel an finder.php zur weiteren Bearbeitung geschickt, oder?

            1. Moin!

              Die HTM-Seite muss also garnicht existieren. Der Text vor .htm wird lediglich per mode_rewrite umgewandelt und dann wie in Deinem Beispiel an finder.php zur weiteren Bearbeitung geschickt, oder?

              Ja.

              MFFG (Mit freundlich- friedfertigem Grinsen)

              fastix

              1. Zum Glück gibts keine dummen Fragen!

                1. Moin!

                  Zum Glück gibts keine dummen Fragen!

                  Gibt es wohl, es war aber keine solche. Ich habe Dir beim verstehenden Lesen ja auch einiges zugemutet. Das "Ja" ist eine Antwort auf Deine Frage gewesen. Die lief ja darauf hinaus, ob Du mich richtig verstanden hattest. Das hattest Du: "En gros, en masse et en detail!"

                  MFFG (Mit freundlich- friedfertigem Grinsen)

                  fastix

        2. Hi!

          Zum Thema: irgendwie werd ich aus diesem mod_rewrite noch nicht ganz schlau. Die Parameter zu erhalten/extrahieren ist auch garnicht das Problem! Das Problem ist die URL. Aber trotz der ganzen Antworten von Euch - hier noch einmal danke - weiss ich immer noch nicht, wie ich das machen kann.

          Gegeben ist nur ein Text wie "peter-meier-hamburg". Aus diesem kommst du nur zu einer ID, wenn du mit diesem eine Datenbankabfrage machst. Möglicherweise muss der Text noch in Name, Vorname und Ort aufgespaltet werden, wenn dein DBMS sie in dieser Form speichert. Der Text muss jedenfalls irgendwie an PHP gereicht werden. URLs wie foo.php?text=peter-meier-hamburg oder foo.php?name=meier&vorname=peter&ort=hamburg wären dafür recht gut geeignet. Bei der "text=..."-Variante müsste PHP die Einzelteile auftrennen, was mit explode() ginge.

          Ein foo.php[2] brauchst du auf alle Fälle, damit der Apache anhand des .php das PHP starten kann. mod_rewrite kommt nun ins Spiel, wenn du Dinge wie foo.php?text= nicht in der offiziellen URL haben möchtest. Es leitet den Request nach /blafasel um nach foo.php?text=blafasel oder auch /bla-fasel nach foo.php?x=bla&y=fasel. "Umleiten" ist dabei ein interner Prozess im Apachen, der den Request nimmt, umschreibt und ihn sich selbst wieder zuführt, so dass er foo.php?... abarbeiten kann, als ob der Anwender es selbst aufgerufen hätte.

          [1] Den Bindestrich als Trennzeichen zu verwenden hat außerdem noch den Nachteil, dass Doppelnamen mit Bindestrich drin schlecht handhabbar sind, denn der Bindestrich kann sowohl im Vornamen als auch im Nachnamen vorkommen, und was nun zu wem gehört, kann man nicht so leicht feststellen.
          [2] Auch die bestehende index.php könnte so erweitert werden, dass sie auch mit den Parametern text oder name, vorname und ort umgehen kann.

          Lo!

        3. Hallo,

          Oups, das ist das erste Forum, dass sich verzweigt.

          für mich eine Selbstverständlichkeit ...

          Zum Thema: irgendwie werd ich aus diesem mod_rewrite noch nicht ganz schlau. Die Parameter zu erhalten/extrahieren ist auch garnicht das Problem! Das Problem ist die URL. Aber trotz der ganzen Antworten von Euch - hier noch einmal danke - weiss ich immer noch nicht, wie ich das machen kann.

          Wo genau liegt das Problem? Eine lesefreundliche URL "geht rein", wird mit einem regulären Ausdruck untersucht, und in eine interne URL umgeschrieben.

          Mit diesem Schnipsel könntest du anfangen (Zeilennummern nicht mit eingeben, klar):

          1  RewriteEngine on  
          2  RewriteBase /  
          3  
          4  RewriteCond %{REQUEST_FILENAME} !-f  
          5  RewriteCond %{REQUEST_FILENAME} !-d  
          6  RewriteRule ^(.*) index.php?id=$1  [QSA]
          

          Das eigentliche Rewriting findet in Zeile 6 statt. Da wird der gesamte lokale Teil der URL, also alles, was der Server wirklich bekommt, aufgesammelt und als URL-Parameter wieder an die index.php verfüttert. Natürlich muss dein Script dann in der Lage sein, den gesuchten Datensatz anhand des Namens zu identifizieren, und nicht anhand der Datensatznummer. Das Flag [QSA] (Query String Append) bewirkt, dass eventuelle zusätzlich angegebene URL-Parameter erhalten bleiben.

          Zeile 4 und 5 sorgen dafür, dass das URL-Rewriting nicht stattfindet, wenn ein Objekt (Datei oder Verzeichnis) wirklich existiert, das auf die URL passt. Andernfalls könntest du keine anderen Ressourcen auf dieser Domain ansprechen.

          So long,
           Martin

          --
          Arzt:    Gegen Ihr Übergewicht hilft wohl nur noch Gymnastik.
          Patient: Sie meinen, Kniebeugen und so?
          Arzt:    Nein, Kopfschütteln. Immer dann, wenn Ihnen jemand was zu essen anbietet.
          Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
          1. Also das Problem liegt darin, dass ich eben keine lesefreundliche URL habe, die reingeht.

            Ich habe im Moment Links, die per index.php?id=195 auf irgendeinen Datensatz verweisen. Aber ich glaube wir kommen dem Problem näher! Wenn ich Dich richtig verstehe, dann steht bereits in meinem Link ganz einfach zukünftig nicht die ID, sondern der ausgeschrieben Name oder was auch immer. Und der wird dann in die ID umgesetzt per mode_rewrite. Hmm, das sollte gehen .. nur was, wenn der Name nicht ganz für die Identifizierung ausreicht, ich also doch die ID benötige? Kann ich die dann irgendwo noch 'unsichtbar' anhängen?

            Vielleicht kannst Du mir mal ein kleines Beispiel per '<a>-Tag' machen. Wie sieht dann meine href-URL aus?

            Gruß Potter68

            1. Hi!

              Also das Problem liegt darin, dass ich eben keine lesefreundliche URL habe, die reingeht.

              Wozu genau brauchst du die (oder meinst, so eine zu brauchen)?

              Ich habe im Moment Links, die per index.php?id=195 auf irgendeinen Datensatz verweisen. Aber ich glaube wir kommen dem Problem näher! Wenn ich Dich richtig verstehe, dann steht bereits in meinem Link ganz einfach zukünftig nicht die ID, sondern der ausgeschrieben Name oder was auch immer.

              Ja, wenn es denn so sein soll.

              Und der wird dann in die ID umgesetzt per mode_rewrite.

              Nein, das geht nicht, weil mod_rewrite nicht weiß, welcher Name welche ID ergeben muss. Es gibt mit RewriteMap zwar die Möglichkeit, ein eigenes Script einzubinden, dass dann auch eine Datenabfrage machen kann. Aber das ist sehr ineffizient. Das Map-Script müsste den Namen auswerten und die zugehörige ID suchen. Dein Script holt dann anhand der ID den selben Datensatz noch einmal, um damit zu tun, was immer du damit tun willst. RewriteMap kann auch eine Übersetzungsliste in einer Textdatei befragen, aber das macht die Sache nicht besser. Wie auch immer, mod_rewrite hilft dir nicht (oder nur sehr umständlich), aus dem Namen eine ID zu generieren. Wenn du wirklich nicht mit der ID zufrieden bist, wäre die einzig sinnvolle Lösung, direkt anhand des Textes den Datensatz aufzurufen.

              Hmm, das sollte gehen .. nur was, wenn der Name nicht ganz für die Identifizierung ausreicht, ich also doch die ID benötige? Kann ich die dann irgendwo noch 'unsichtbar' anhängen?

              Das Problem der Eindeutigkeit hättest du gar nicht, wenn du gleich die ID nähmest. Sie an den Namen noch dranzuhängen wäre aus URL-Sicht so sinnvoll, wie den Namen gleich wegzulassen. "Unsichtbar" gibt es in einer URL nicht.

              Lo!

              1. Es geht mir dabei um die Suchmaschinenfreundlichkeit und Lesbarkeit. Eine Möglichkeit wäre vlt. die ID im Pfad mit zuschicken, also href='/365/peter-meier-hamburg/'.

                Gruß Potter68

          2. Hallo,

            Oups, das ist das erste Forum, dass sich verzweigt.

            für mich eine Selbstverständlichkeit ...

            Sollte allein beim Begriff "Forum" für alle eine Selbstverständlichkeit sein. Aber heutzutage verstehen viele unter einem Forum dieses Bullshit-Brett-Zeugs, was sich wie die Krätze im Internet ausbreitet.

            Das wollte ich schon immer mal loswerden ;-)

            Horst Kleinlaut

            1. @@hotti:

              nuqneH

              Aber heutzutage verstehen viele unter einem Forum dieses Bullshit-Brett-Zeugs, was sich wie die Krätze im Internet ausbreitet.

              Das wollte ich schon immer mal loswerden ;-)

              Dann hättest du auch gleich noch zum Verständnis, worum es dir geht, Stefan Münz’ Artikel Foren und Boards verlinken können.

              Qapla'

              --
              Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
              (Mark Twain)
            2. Oups, das ist das erste Forum, dass sich verzweigt.

              für mich eine Selbstverständlichkeit ...

              Sollte allein beim Begriff "Forum" für alle eine Selbstverständlichkeit sein. Aber heutzutage verstehen viele unter einem Forum dieses Bullshit-Brett-Zeugs, was sich wie die Krätze im Internet ausbreitet.

              Das wollte ich schon immer mal loswerden ;-)

              Ähm, heutzutage sollte ein Unterschied zwischen threadbasierter und listenbasierter Darstellung eigentlich nicht mehr hartcodiert sein.
              Bei Forum denke ich übrigens immer noch an eine öffentliche verbale Witzstätte. Einge gute Software kann sicher auch die Gruppierungen der Kommodianten in einem Plenarsaal darstellen.

              mfg Beat

              --
              ><o(((°>           ><o(((°>
                 <°)))o><                     ><o(((°>o
              Der Valigator leibt diese Fische
              1. Hi,

                Ähm, heutzutage sollte ein Unterschied zwischen threadbasierter und listenbasierter Darstellung eigentlich nicht mehr hartcodiert sein.

                Dir ist klar, dass es bei "Forum vs. Board" um mehr geht als um die reine Darstellung?
                Der größte Unterschied liegt darin, dass in einem Board hauptsächlich linear diskutiert wird (und das hat weniger mit der Technik als mit der Kultur darin zu tun, welche allerdings durch die Technik unterstützt wird).
                In einem Forum ist eine nicht-lineare Diskussion möglich und erwünscht. Die Technik unterstützt das Antworten auf spezifische Postings. In einem Board ist es durch Zitate möglich, einem Posting einen Bezug zu verleihen. Der Diskussionsbaum, der implizit dadurch entsteht, ist aber nicht sichtbar.

                Bis die Tage,
                Matti

                1. Dir ist klar, dass es bei "Forum vs. Board" um mehr geht als um die reine Darstellung?

                  Vielleicht werden wir dereinst lernen, vernetzt, statt in Holz en natur oder gebrettert zu diskutieren.

                  mfg Beat

                  --
                  ><o(((°>           ><o(((°>
                     <°)))o><                     ><o(((°>o
                  Der Valigator leibt diese Fische
        4. Oups, das ist das erste Forum, dass sich verzweigt.

          Ist doch schön, nicht wahr!?

          ...Das Problem ist die URL. Aber trotz der ganzen Antworten von Euch - hier noch einmal danke - weiss ich immer noch nicht, wie ich das machen kann.

          Falls jemand Lust hat mir das einmal ausführlich zu erklären, oder falls jemand ein gutes Tutorial kennt: immer her damit!

          Es gibt schonmal 2 Möglichkeiten,
          1: Das rewrite-Ziel (Dein Script) ermittelt den URL aus der Umgebungs-Variablen REQUEST_URI

          2: Das Flag QSA wird gesetzt und der relevante Teil vom URL wird als Parameter angehängt: RewriteRule ^(.*).html$   /cgi-bin/bello.cgi?u=$1 [QSA]

          Beides hat so seine Vor- und Nachteile.

          Hotti

  3. hi,

    ... ich kann ja nicht für die zig-Tausend Einträge je eine Seite anlegen). Geht so etwas?

    Na, irgendwann hast Du den Content ja geschrieben. Mein Tipp: Füge ein weiteres Attribut hinzu, einen ansprechbaren Namen für die Ressource, das kannst Du sicher auch im Nachhinein machen.

    Dieses Attribut (URL) ist eindeutig, falls Du eine DB bemühst, kann das also ein primary Key sein. Per rewrite wird bei jedem Request auf any URL ein Script angefordert, was dann den Content aus der DB holt und zum Webserver/Browser schickt.

    Mit einer geeigneten Dateierweiterung, z.B. "html" kannst Du die rewrite_rule entsprechend verklauseln.

    Viele Grüße,
    Horst

  4. Hi,

    statt '/index.php?id=196' soll dann z.B. '/peter-meier-hamburg' stehen

    Dein Stichwort lautet "Front Controller".

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
  5. Danke für die schnellen Antworten.

    Nur nochmal zur Verdeutlichung:

    Ich habe nur die index.php und eine adressen.php. Die index.php zeigt mir eine Liste mit allen Datenbankeinträgen (in Kurzform - also nur die Namen z.B.).
    Jeder Eintrag ist als Link dargestellt und eben mit seiner ID verknüpft. Wenn ich jetzt einen Link anklicke, dann wird die adressen.php aufgerufen und dort per $_GET die ID ausgelesen, eine Datenbankabfrage durchgeführt und der einzelne Datensatz im Gesamten (nicht die Kurzform) angezeigt - aber eben nicht mit meiner gewünschten URL, sondern mit index.php?id=... .

    @Cheatah: das mit dem Front-Controller muss ich mir mal genauer anschauen - danke für den Tipp!

    @hotti: bin mir nicht sicher wie Du das meinst?

    @dedlfix: ich dachte, bei dem mod_rewrite ist es genau anders herum: ich gebe z.B. als URL ../peter-meier-hamburg/ ein und kann mir dann mit dem mod_rewrite die Parameter herausziehen. Da ich das mit Links realisiere muss ich doch immer einen Parameter mit übergeben, oder etwa nicht?

    Gruß Potter68

    1. hi,

      @hotti: bin mir nicht sicher wie Du das meinst?

      Na, dann guck mal auf meine Seiten, das sind zwar nicht viel, aber es geht so, wie ich beschrieben habe. Das Geheimnis heißt OOP, d.h., jeder URL ist ein Objekt mit Eigenschaften wie:

      • title
      • css/js Links
      • content/body
      • descr
      • der Locator selbst als *.html
      • ...

      Jede Eigenschaft einschl. URL wird vom Autor im CMS festgelegt.

      .htaccess:
      DirectoryIndex /cgi-bin/bello.cgi?u=index [QSA]
      mod_rewrite on
      RewriteRule ^(.*).html$   /cgi-bin/bello.cgi?u=$1 [QSA]

      --> alles was *.html heißt, wird auf bello.cgi umgeschossen, dieses Script holt das entsprechende Objekt aus dem Datenbunker (DB-File). Parameter "u" steht für URL, z.B. 'impressum', der Key für dieses Objekt ist somit 'impressum.html'.

      Summary: Schöne Namen für den URL werden nicht automatisch generiert, sondern die denkt sich der Autor aus, das ist meine Botschaft ;-)

      Hotti

  6. Ich hab nicht alles durchgesehen, aber ein wesentlicher Aspekt zur Definition von "schön" fehlt mir in den direkten Antworten bisher.

    Das Ganze ist bzgl. URL nicht sonderlich lesbar

    URLs werden in den seltensten Fällen vorgelesen und abgetippt. Höchstens per Copy&Paste. Und selbst wenn, ich tippe lieber eine eindeutige Zahl, als einen viel längeren Namen mit vielen Schreibmöglichkeiten.

    Und wenn die URL wirklich nur per Link erzeugt wird, ists doch völlig wurscht was da steht. Ein wirkliches Problem hast du nämlich dann, wenn es in Hamburg mehr als einen Peter Meier gibt.

    1. Hallo,

      URLs werden in den seltensten Fällen vorgelesen und abgetippt. Höchstens per Copy&Paste. Und selbst wenn, ich tippe lieber eine eindeutige Zahl, als einen viel längeren Namen mit vielen Schreibmöglichkeiten.

      darin unterscheiden wir uns deutlich: Für mich ist es wichtig, dass eine URL aussagekräftig und einprägsam ist, da ich sie im Alltag sehr von Hand eintippe - ebenso wie ich auch Telefonnummern meistens aus dem Gedächtnis wähle und das integrierte Telefonbuch des Telefons nur benutze, damit mir der Anrufer im Klartext angezeigt wird.
      Sicher, wenn eine Ressource direkt verlinkt ist, nehme ich das Angebot natürlich gern wahr. Aber URLs, die immer wieder in Variationen auftreten (z.B. http://en.wikipedia.org/wiki/Schlagwort oder http://google.de/search?q=Suchbegriff) gebe ich direkt von Hand ein; das geht schneller, als erst die Startseite der jeweiligen Webpräsenz aufzurufen.

      Nur wenn ich eine Ressource mit einer wirklich konstanten, immer gleichbleibenden URL häufig aufrufe (etwa das Forum hier), dann kommt sie in die Bookmarks.

      Ein wirkliches Problem hast du nämlich dann, wenn es in Hamburg mehr als einen Peter Meier gibt.

      Das ist allerdings wahr. Und die Wahrscheinlichkeit ist nicht gerade klein.

      So long,
       Martin

      --
      Die letzten Worte der Challenger-Crew:
      Lasst doch mal die Frau ans Steuer!
      Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
      1. Für mich ist es wichtig, dass eine URL aussagekräftig und einprägsam ist, da ich sie im Alltag sehr von Hand eintippe

        Falls das so ist, klar. Aber der Fragende sagte ja die Personen werden irgendwo angezeigt und dann verlinkt. Da würd ich mir nicht zusätzliche Probleme mit Sonderzeichen usw. einhandeln. Und damits wirklich eindeutig ist muss außer Name und Ort noch die Anschrift und am besten das Geburtsdatum mit rein. Und selbst das ließe sich theoretisch noch aushebeln, richtig eindeutig und auf dem Server brauchbar ist in dem Fall halt schon nur die ID.

        Manchen URLs sieht man schon gerne an was dahinter steckt. Bei manchen ists aber einfach nicht nötig. Damit ein Bookmark was taugt sollte man den Titel des Dokuments setzen, z.B. hier den Namen und die Stadt eintragen.