Facebook
Twitter
Google+
Kommentare
18

ShortUrls mit WordPress

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.

Über den Autor

Nils Langner

Nils Langner ist der Gründer von "the web hates me" und auch der Hauptautor. Im wahren Leben leitet er das Qualitätsmanagementteam im Gruner+Jahr-Digitalbereich und ist somit für Seiten wie stern.de, eltern.de und gala.de aus Qualitätssicht verantwortlich. Nils schreibt seit den Anfängen von phphatesme, welches er ebenfalls gegründet hat, nicht nur für diverse Blogs, sondern auch für Fachmagazine, wie das PHP Magazin, die t3n, die c't oder die iX. Nebenbei ist er noch ein gern gesehener Sprecher auf Konferenzen. Herr Langner schreibt die Texte über sich gerne in der dritten Form.
Kommentare

18 Comments

  1. @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 😉

    Reply
  2. 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 🙂

    Reply
  3. @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.

    Reply
  4. @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.

    Reply
  5. @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 😉

    Reply
  6. @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)

    Reply
  7. 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 🙂

    Reply

Leave a Comment.

Link erfolgreich vorgeschlagen.

Vielen Dank, dass du einen Link vorgeschlagen hast. Wir werden ihn sobald wie möglich prüfen. Schließen