a3: Profile als Unterordner aufrufen

Hallo,

Ich möchte dass Benutzer sein Profile einfacher über ein Simples Url aufrufen kann. Beispiel http://www.example.com/username .

Natürlich gibt es auch echte unterordner und nicht als profile bezeichnen können. Beispiel http://www.example.com/images ( Bilder Ordner ).

Wie kann ich sowas konfigurieren ?
Beispiel http://twitter.com/google sofort zeigt google profile ohne redirect.

Danke

  1. Hi,

    Ich möchte dass Benutzer sein Profile einfacher über ein Simples Url aufrufen kann. Beispiel http://www.example.com/username .

    Wie kann ich sowas konfigurieren ?

    Stichwort: mod_rewrite

    MfG ChrisB

    --
    The most exciting phrase to hear in science, the one that heralds new discoveries, is not “Eureka!” but “That's funny...” [Isaac Asimov]
    1. Wie kann ich sowas konfigurieren ?

      Stichwort: mod_rewrite

      MfG ChrisB

      1- Ok, wo soll ich die .htaccess speichern, damit es jedes Unterordner checkt ob es ein Profile oder dateien ordner ist??

      2- Wie kann ich in .htaccess konfigurieren, dass es direct das Profile zeigt und nicht erst auf redirect.php umleiten und checken ob es Profile oder ordner ist?

      Danke

      1. Hi,

        Stichwort: mod_rewrite

        1- Ok, wo soll ich die .htaccess speichern, damit es jedes Unterordner checkt ob es ein Profile oder dateien ordner ist??

        Speichern solltest du sie auf der Ebene, auf der du die Pseudo-Ordner simulieren willst.

        2- Wie kann ich in .htaccess konfigurieren, dass es direct das Profile zeigt und nicht erst auf redirect.php umleiten und checken ob es Profile oder ordner ist?

        *Informiere* dich bitte, Lektüre zu dem Thema gibt's nun wahrlich mehr als genug.

        Bei konkreten Problemen kannst du gerne noch mal nachfragen.

        MfG ChrisB

        --
        The most exciting phrase to hear in science, the one that heralds new discoveries, is not “Eureka!” but “That's funny...” [Isaac Asimov]
      2. 1- Ok, wo soll ich die .htaccess speichern, damit es jedes Unterordner checkt ob es ein Profile oder dateien ordner ist??

        Der Witz dabei ist, es gibt ja keine wirklichen Unterordner mehr.

        1. 1- Ok, wo soll ich die .htaccess speichern, damit es jedes Unterordner checkt ob es ein Profile oder dateien ordner ist??
          Der Witz dabei ist, es gibt ja keine wirklichen Unterordner mehr.

          Naja gut bin jetzt auf eine Idee gekommen, aber weiß ich nicht wie sinnvoll ist. Und zwar einfach die 404 http fehler seite auf Profile umleiten. :)
          Also wenn man richtige static file url aufgerufen werden dann gibt es keine 404 fehler, falls sowas aufgerufen http://www.example.com/username werden, dann existiert nicht, Dann kommt eine 404.php seite zurück, und drin checkt ob es eine Profile mit /Username im Datenbank vorhanden und zeigt es.
          Falls auch nicht zeigt 404 fehler  :D

          1. Hi,

            Naja gut bin jetzt auf eine Idee gekommen, aber weiß ich nicht wie sinnvoll ist. Und zwar einfach die 404 http fehler seite auf Profile umleiten. :)

            Damit bekommst du aber auch ständig Einträge ins Error-Log - und wenn du das mal auswerten willst, hinsichtlich *echter* Fehler, dann hast du da ziemlich viel Mist drin stehen ...

            Also wenn man richtige static file url aufgerufen werden dann gibt es keine 404 fehler, falls sowas aufgerufen http://www.example.com/username werden

            Du kannst auch mittels einer vor die RewriteRule geschalteten RewriteCond abfragen, ob die angefragte Ressource als Verzeichnis oder Datei existiert, siehe Flags in der Doku.

            Aber auch das kann leicht unperformant sein, wenn in dieser Phase schon jedes Mal ein Zugriff auf's Dateisystem erfolgen muss, um das zu prüfen.
            Besser ist es dann wirklich, die statischen Ressourcen auf eine Subdomain auszulagern, die vom Rewriting nicht betroffen ist, oder wenigstens diese Ressourcen von den username-Requests eindeutig unterscheidbar zu machen, bspw. durch ein vorangestelltes Sonderzeichen wie _ o.ä.

            MfG ChrisB

            --
            The most exciting phrase to hear in science, the one that heralds new discoveries, is not “Eureka!” but “That's funny...” [Isaac Asimov]
            1. Moin!

              Damit bekommst du aber auch ständig Einträge ins Error-Log - und wenn du das mal auswerten willst, hinsichtlich *echter* Fehler, dann hast du da ziemlich viel Mist drin stehen ...

              Bei einem Apache lassen sich die Logs in eine Pipe (zB.: ErrorLog "|filter.sh > error_log" ) umleiten die dann (z.B. mit dem guten grep) bestimmte "Fehler" ausfiltern und zwar bevor derlei im error-log landet.

              Davon abgesehen weist bei Twitter nichts auf einen Apache oder gar PHP hin. (Was vermuten lässt aber nicht beweissicher aufzeigt, dass derlei nicht verwendet wird.) Wahrscheinlich ist es dennoch: Bei derartig großen und belasteten Projekten würde ich es auch vorziehen Webserver und Seitenlogik zu verbinden. Man kann ja dazu Codeteile des Apache benutzen und z.B. statt z.B. PHP oder CGI ein völlig eigenes, in Maschinensprache compiliertes Modul einbinden welches dann die Seiten on the fly erzeugt (oder aus einem Cache nimmt) und ausliefert. Damit ließen sich dann auch ganz anders bestimmen, was ein "Fehler" ist.

              Deine Aussagen zur Frage von Performanceverlusten hinsichtlich der unnötigen Zugriffe auf das Dateisystem und das Umleiten diverser Requests auf eine SubDomain oder einen geeigneteren Server durch geeignetem Seitenaufbau habe ich mit unterschrieben. Das genau findet ja auch bei Twitter statt.

              MFFG (Mit freundlich- friedfertigem Grinsen)

              fastix

  2. Moin!

    Wie kann ich sowas konfigurieren ?

    Vor allem solltest Du es vermeiden. Twitter hat zum Beispiel keinen Bilderordner (/images), dort stammt das gesamte Interior von anderen (oder benannten) Servern, was genau das Auftreten des von Dir benannten Problems ausschließt.

    Den Rest erledigt dann mod_rewrite. Das ist aber schon erwähnt worden.

    MFFG (Mit freundlich- friedfertigem Grinsen)

    fastix

    1. Moin!

      Wie kann ich sowas konfigurieren ?

      Vor allem solltest Du es vermeiden. Twitter hat zum Beispiel keinen Bilderordner (/images), dort stammt das gesamte Interior von anderen (oder benannten) Servern, was genau das Auftreten des von Dir benannten Problems ausschließt.

      Den Rest erledigt dann mod_rewrite. Das ist aber schon erwähnt worden.

      MFFG (Mit freundlich- friedfertigem Grinsen)

      fastix

      Hallo,
      Nein, von Twitter stammen alle Interior Ordner nicht vom anderen Server, sondern nur die Static Dateien die wegen gescshwindigkeit und performance vom Amazon cloud front aufgeruft werden sollenn.

      Andere Beispiel z.b.
      http://arabcrunch.net/Gate2Play wobei Gate2play ist auch ein Benutzername, und static ordner werden auch normal benutzt src="/images/theme/arab-crunch-logo.gif" .
      Gruß