• ShortUrls mit WordPress

    von am 26. Februar 2010

    Ich muss gestehen, das dieser Artikel ein kleiner Lückenbüßer ist, er aber trotzdem für den ein oder anderen Gewinn bringen kann. Erstmal kurz, warum ich auf das Thema komme: Ich betreibe seit Anfang an WordPress als Blogsystem und bin sehr zufrieden. Egal wie SEOtastisch man seine URL auch im Backend strickt, es gibt immer eine kurze URL, die man verwenden kann: http://www.phphatesme.com/?p=5328. Diese leitet dann automatisch auf die schöne Url weiter.

    Da ich aber Urls mit Fragezeichen nicht mag, wollte ich das nicht und habe mir gedacht, bauen wir doch einfach “WordPress” so um, dass ich auch mit http://www.phphatesme.com/id/5328 und einer Weiterleitung an das gewünschte Ziel komme. Wenn man weiß, wie das geht ist es eigentlich ganz einfach. Die Weiterleitungen mache ich in meinem Fall über eine .htaccess Datei in meinem Hauptverzeichnis. Der Eintrag dazu sieht wie folgt aus:

    RewriteRule ^id/([0-9]+)$ /?p=$1 [R,QSA,L]

    Wichtig dabei ist das L in der Klammer, da ihr so dem Webserver sagt, dass dies die letzte Regel ist, die er ausführen soll. Ansonsten greifen nämlich andere und das will man ja nicht.

    Mir fällt gerade auf, dass in dem neuen Layout kürzere Artikel kürzer aussehen, als im alten Layout. Liegt natürlich an der breiteren Textbox, aber so muss ich halt unauffällig mit ein wenig Smalltalk den Rest der Seite füllen.

    Nils Langner

    Auch wenn Ihr es mir nicht glauben werdet, aber ich habe nichts gegen PHP. Ich rege mich einfach nur gerne auf. Ok so schlimm ist es auch nicht. Eigentlich wollte ich schon immer einen Blog haben und da ...

    Zum Profil von Nils Langner

    17 Kommentare »


    • Eberhard Huber
      am 26. Februar 2010 um 07:55 Uhr

      you saved my day, genau den Lückenbüßer habe ich gebraucht.


    • uli
      am 26. Februar 2010 um 08:38 Uhr

      @Nils
      Im Netz ist man glücklich, wenn sich die Informationen in KURZEN, verständlichen Texten wiederfinden lassen. Da muss man nicht immer Romane schreiben, auch wenn du das toll machst ;-)


    • Dennis Becker
      am 26. Februar 2010 um 08:55 Uhr

      RewriteRules sind echt praktisch! Sehr gut ist auch die Website http://www.modrewrite.de

      Hat jemand einen Tipp, wie ich Stylesheets und JavaScript Files “versioniert” abrufen kann? Also statt /styles/main.css => /1.2/styles/main.css – die Versionsnummer würde sich ja mit jeder Version ändern. Vielleicht schreibt ja hier jemand mal einen netten Artikel mit solchen kleinen Helferlein :)


    • Sascha
      am 26. Februar 2010 um 08:56 Uhr

      WordPress hat doch einen eigenen Service dafür: http://wp.me

      Dieser kann die URL völlig automatisch für jeden Beitrag erstellen.


    • Michael
      am 26. Februar 2010 um 09:45 Uhr

      @Dennis: 2 Möglichkeiten -> 1.) Mach eine CSS Datei und importiere dadrinnen deine JS Files, dann musst du nur eine Datei ändern, 2.) lagere deine CSS/JS Einbindungen in eine PHP Datei aus, z.B. css.php und die sendest du dann als CSS Datei und kannst dann in PHP sowas wie eine Mini Versions Verwaltung integrieren.


    • Michael
      am 26. Februar 2010 um 09:47 Uhr

      Ach was schreib ich denn, ich meinte natürlich CSS Datei und dort drinnen deine CSS Files importieren, viel zu früh, so kurz vor 10.00 Uhr :D


    • Nils Langner
      am 26. Februar 2010 um 09:51 Uhr

      @Dennis: Oder du nimmst die bereits existierende Versionsverwaltung. Hängst also die SVN Versionnummer hinten an und löst das per .htaccess dann immer auf die selbe css Datei auf.


    • Dennis Becker
      am 26. Februar 2010 um 11:06 Uhr

      @Michael: das ist eigentlich keien gute Variante für’s Client-Caching.

      @Nils: meinst du sowas wie main.css.6452 ? Ich würde es eigentlich gerne als RewriteRule eintragen, damit ich nicht laufend was anpassen muss ;)


    • PHPGangsta
      am 26. Februar 2010 um 11:41 Uhr

      @Nils: Ich bin kein SEO-Experte, aber ich habe mal gelesen dass man 301 den 302 vorziehen sollte. In diesem Fall verwendest du erst einen 302 und dann einen 301.

      Bei 302 wird z.B. der Pagerank nicht übertragen, siehe:
      http://suchmaschinenoptimierung.michaelsattler.de/weiterleitung.html

      Meine .htaccess sieht so aus:
      RewriteRule ^([0-9]+)$ /?p=$1 [R=301,L]

      (ausführlicher beschrieben, sorry für Eigenwerbung: http://www.phpgangsta.de/blog-url-struktur-geandert)


    • MrBoolean
      am 26. Februar 2010 um 11:50 Uhr

      Bietet nicht WordPress ohnehin schon eine Möglichkeit über die Einstellungen derartiges zu verwalten?


    • Ulf Kirsten
      am 26. Februar 2010 um 12:36 Uhr

      WordPress macht da nichts anderes als die RewriteRules zu setzen. Ebenso sind die bei WordPress im Admin-Panel auf bestimmte Möglichkeiten begrenzt.


    • Marc Binder
      am 26. Februar 2010 um 13:41 Uhr

      Ich finde eh schade, dass WordPress so unflexibel aufgezogen ist. Das hätte man alles schöner machen können. Aber es nun mal die beliebteste Blog-Software.


    • Ahmet Topal
      am 26. Februar 2010 um 14:25 Uhr

      Und im Blog Artikel (single.php) kann man dann den Shortlink zeigen, indem man folgenden Code verwendet:


      <?php echo get_bloginfo('url').'/id/'.get_the_ID(); ?>

      Mod Rewrite ist wirklich Praktisch :)


    • Simon
      am 26. Februar 2010 um 19:24 Uhr

      Naja, also das hätte ich auch selbst hinbekommen :-P


    • Nils Langner
      am 26. Februar 2010 um 19:42 Uhr

      @Simon: Das war wirklich erst der erste Artikel, den du selbst hinbekommen hättest? :P


    • Simon
      am 26. Februar 2010 um 19:46 Uhr

      :-D :-D ja sicher


    • wo kann ich
      am 3. März 2010 um 09:41 Uhr

      “Vielleicht schreibt ja hier jemand mal einen netten Artikel mit solchen kleinen Helferlein Sascha am 26…” – danke! *g*

    RSS Feed für Kommentare zu diesem Artikel. TrackBack URL

    Hinterlasse einen Kommentar

    Werbung
    PHP Magazin
    Ausgabe 02/2010

    Dieses Mal mit Artikeln zu den Themen OpenSocial und Apache Shindig, Graphentheorie, Smarty3

    t3n
    Ausgabe 19

    Social Media (R)evolution. Weitere Themen sind noSQL, Crowdsourcing ...

    PHP Journal
    Ausgabe 2/2010

    PHP & Windows optimal nutzen, die besten PHP-CMS im Überblick, Google-API mit Zend Framework nutzen.

    Wir wurden schon öfters gefragt, ob man uns nicht irgendwie unterstützen kann. Die Antwort war immer einfach: Klar! Am einfachsten ist es eure nächsten Einkäufe bei Amazon über unsere Link abzuwickeln. Damit würdet ihr uns schon sehr helfen. Über Co-Autoren freuen wir uns aber noch mehr.