DerEinzige & traumfahne.de
zeitschrift zum selbstausdrucken im eigenverlag vom 1. 2. 2010 | gesamtausgaben: 269
short url von eigener domain aus wordpress
1. Februar 2010 | ausgabe drucken | 8 leserbriefe | leserbrief schreibender nutzen von gekürzen urls ist vielfältig … genauso wie dienste die selbiges bieten.
wenn allerding einer dieser bislang kostenloser anbieter auf die naheliegende idee kommt etwas geld für seinen dienst zu verlangen, siehst du alt aus
als wordpress nutzer hast du eine eingebaute funktion um dir selbst gekürtzte urls zu erzeugen … und zwar vermittels der artikel id.
die grundstruktur der urls in wordpress ist http://dereinzige.de/index.php?p=457 (wobei 457 die id des artikels ist).
daraus hast du als seo und user orientierter blogbetreiber natürlich unter zuhilfenahme der permalinkstruktur eine schöne, gute, bandwurmartige url gemacht: http://dereinzige.de/2009/01/31/wie-lange-dauert-ein-kalpa-wieviele-kalpas-gibt-es-und-ueberhaupt-was-ist-ein-kalpa/
nun ist http://dereinzige.de/index.php?p=457 schon kürzer, was hältst du aber von http://dereinzige.de/457
eine solche url kannst du in deiner functions.php recht einfach konstruieren (falls dein theme noch keine hat lege eine datei mit selbigen namen in deinen theme ordner
… eine leere functions.php findest du hier: functions.zip)
wenn du solche hacks in angriff nimmst, hast du natürlich vorher alles gesichert was zu sichern ist! … und haftung übernehme ich auch nicht. bei mir ist es einfach und problemlos über die bühne gegengen.
zurück zum thema:
mit den zeilen in deiner functions.php
function shorturl(){
global $post;
is_single() == true ? $out = get_bloginfo('url')."/".$post->ID : $out = get_bloginfo('url')."/";
echo $out;
}
krigst du eine url ohne *index.php?=*
die kannst du dir bereits anzeigen lassen:
setze in deine sigle.php (einzelner artikel) an eine stelle deiner wahl short url: <?php shorturl(); ?>
nur bringt dir das noch nichts, da bei eingabe derselben in die adresszeile deines browsers eine fehlermeldung kommt:
du solltest wordpress noch sagen, dass es eine gültige url ist und wohin sie verweisen soll.
im laufe meiner recherchen habe ich einige empfehlungen dies mittels der .htaccess zu lösen gefunden. z.b.:
RewriteEngine On
RewriteRule ^([0-9]+[0-9])$ /index.php?p=$1 [L]
oder
RewriteEngine On
RewriteRule ^([0-9]+)$ /?p=$1 [R=301,L]
allerdings dachte ich mir wozu in die ferne schweifen ... und habe weiter gesucht. es gibt doch da die worpressfunktion wp_rewrite und siehe da, wiederum mit ein paar zeilen in der functions.php ist das problem gelöst:
add_action( 'generate_rewrite_rules', 'custom_rewrite_rules' );
function custom_rewrite_rules( $wp_rewrite )
{
$newRules = array();
$newRules[ '([0-9]+)$' ] = 'index.php?p=' . $wp_rewrite->preg_index( 1 );
$wp_rewrite->rules = $newRules + $wp_rewrite->rules;
return $wp_rewrite;
}
jetz nur noch im adminbereich auf permalinks und einmal (ohne sonst was zu verändern) auf speichern drücken und du hast deine eigene short url
der code der in die functions.php kommt als plaintext: shorturl_rewrite.txt
wenn du bei mir rechts oben auf den twitterknopf drückst, kannst du sie live erleben …
der code dahinter:
<a class="extlink" href="http://twitter.com/home?status=lookat: <?php the_title(); ?> :: <?php shorturl(); ?>"><img src="http://dereinzige.de/wp-content/themes/zeitschrift/images/twitter.png" title="twit" alt="twit" /></a>
meine hauptquellen ausser dem worpress codex waren:
danke euch!
autor: jeff brett, verfasst am 1. 2. 2010
permalink: http://dereinzige.de/2010/02/01/short-url-von-eigener-domain-aus-wordpress/
short url: http://dereinzige.de/841




Können das auch private Krankenversicherungen machen? Habe neulich versucht auf die Seite von denen zu kommen, aber es hat nicht geklappt.
ah, das geht leider nicht!
nur den gesetzlichen krankenversicherungen ist das möglich
auch den 24 finanzprodukten ist das nicht möglich
mit vorzüglicher hochachtung wünsche ich ihnen einen weiterhin schönen abend, werter spammer.
ps.: selten dämlicher spamkommentar von einer firma die sich FinanzProdukte24 schimpft … lass ich mal drin, weil er so doof ist
Schade, dass das bei den privaten Krankenkassen nicht möglich ist
kuck an, funktioniert. danke!
bitte!
Vielen Dank für die Zusammenfassung und Veröffentlichung. Bei mir funktioniert die letzte Änderung der functions.php leider nicht. Mit der 303-Umbiegung klappt es zwar auch nicht, aber ich bin der Lösung näher.
Den original Inhalt der .htaccess dadurch ersetzt, dann wird
http://www.XYZ.ZZ/123
zu
http://www.XYZ.ZZ/users/BENUTZERNAME/www/ORDNERNAME/?p=123
Wäre super, wenn Du dazu eine Hilfe geben würdest, mir ist zwar klar was falsch läuft, aber nicht wie ich das anpassen muss. btw: Ich leite von der TLD per cname auf den Webspace um, falls das von Interesse sein sollte. Vermutlich bin ich nicht der Einzige mit dem Problem, daher frage ich direkt bei der Quelle.
Gruß
Um es nach stundenlangem damit beschäftigen selbst aufzulösen:
Der Fehler liegt an einem fehlenden Zeichen.
Aus
RewriteRule ^([0-9]+)$ ?p=$1 [R=301,L]
wird
RewriteRule ^([0-9]+)$ /?p=$1 [R=301,L]
und schon funktioniert es.
Bitte im Artikel korrigieren.
super!!!
war noch am überlegen und du lieferst die lösung gleich selbst.
werds sofort verbessern
jeff