Es sind die kleinen Dinge…

Published 2006-08-21, 01:39

die ein Forum besser nutzbar machen:

Achtung – während Sie geantwortet haben, ist eine neuer Beitrag geschrieben worden. Sie sollten das Thema erneut lesen.

Gesehen in einem Forum mit SMF.

Beliebte mod_rewrite-Fehler

Published 2006-08-19, 18:21

Unter den Rewriteflags werden in der Dokumentation zu mod_rewrite 4 wichtige Punkte angesprochen. Dummerweise werden diese durch die blaue Box nicht etwa hervorgehoben, sondern rücken eher in den Hintergrund.

Dies ist schade, denn würde jeder Webmaster der mit mod_rewrite herumspielt diese Regeln durchlesen, gäbe es viel weniger Missverständnisse und Verwirrung was die Funktionsweise der RewriteRules angeht. Deshalb hier nochmal:

Note: Enabling rewrites in per-directory context

To enable the rewriting engine for per-directory configuration files, you need to set „RewriteEngine On“ in these files and „Options FollowSymLinks“ must be enabled. If your administrator has disabled override of FollowSymLinks for a user’s directory, then you cannot use the rewriting engine. This restriction is needed for security reasons.

Ganz beliebter Fehler Nutzung von mod_rewrite bei Hostern wie Hosteurope.

Note: Pattern matching in per-directory context

Never forget that Pattern is applied to a complete URL in per-server configuration files. However, in per-directory configuration files, the per-directory prefix (which always is the same for a specific directory) is automatically removed for the pattern matching and automatically added after the substitution has been done. This feature is essential for many sorts of rewriting – without this, you would always have to match the parent directory which is not always possible.

There is one exception: If a substitution string starts with „http://“, then the directory prefix will not be added, and an external redirect or proxy throughput (if flag P is used) is forced!

Wenn man das einmal verstanden hat, werden die Regeln viel klarer.

Note: Substitution of Absolute URLs

When you prefix a substitution field with http://thishost----escape_autolink_uri:ec32f0e44735807244628322d406ebe5----, mod_rewrite will automatically strip that out. This auto-reduction on URLs with an implicit external redirect is most useful in combination with a mapping-function which generates the hostname part.

Remember: An unconditional external redirect to your own server will not work with the prefix http://thishost because of this feature. To achieve such a self-redirect, you have to use the R-flag.

Das versteh ich ehrlich gesagt selbst nich ;)

Note: Query String

The Pattern will not be matched against the query string. Instead, you must use a RewriteCond with the %{QUERY_STRING} variable. You can, however, create URLs in the substitution string, containing a query string part. Simply use a question mark inside the substitution string, to indicate that the following text should be re-injected into the query string. When you want to erase an existing query string, end the substitution string with just a question mark. To combine a new query string with an old one, use the [QSA] flag.

Probleme mit Queries gehören nach Verstehen dieses Absatzes zum Glück auch der Vergangenheit an.

WordPress-Plugin: Relative Dates for WordPress

Published 2006-08-02, 00:58

Relative Dates is a simple plugin for WordPress that displays the date of your posts as the time elapsed since it was posted (based on the date that the user is viewing the post; i.e., „Posted 2 weeks, 1 day ago“).

http://justinblanton.com/projects/relativedates/

Tools für reguläre Ausdrücke: The Regulator & Regulazy

Published 2006-07-28, 08:46

Keiner mag reguläre Ausdrücke. Deshalb gibt es auch so viele toole Tools, die helfen sollen sie zu verstehen, visualisieren oder zu erstellen. The Regex Coach von Edi Weitz nutze ich schon eine Zeit lang. 2 weitere sind mir gerade über den Weg gelaufen:

  1. The Regulator

    The Regulator is an advanced, free regular expressions testing and learning tool written by Roy Osherove. It allows you to build and verify a regular expression against any text input, file or web, and displays matching, splitting or replacement results within an easy to understand, hierarchical tree.

  2. Regulazy

    Regulazy is a visual Regex Creation tool for beginners. Easy point and click user interfaces, predictive technology and much more! Still in alpha, but more features are coming!

Beide sind übrigens von Roy Osherove und werden in nächster Zeit mal bei mir getestet.

Cursor vs. Cursor mit Haken

Published 2006-07-20, 00:52

Mir nun schon mehrmals aufgefallen, und ich muss peinlicherweise zugeben, dass ich keine Ahnung habe, was den Unterschied zwischen diesen beiden Text-Cursorn ausmacht:

Cursor vs Cursor mit Haken

Der zweitere mit Haken taucht hin und wieder auch in meiner Firefox-Adressleiste auf, allerdings ohne erkennbaren oder nachvollziehbaren Grund.

Kennt jemand den Unterschied zwischen diesen beiden Cursorn?

Google übertreibt es mal wieder…

Published 2006-07-13, 17:56

xyz.zip enthält eine exe-Datei. Aus Sicherheitsgründen ist das Senden dieses Dateityps in Google Mail nicht zulässig.

Frechheit.

Dabei habe ich die exe-Datei extra noch gezippt um beim Empfänger keine Probleme zu verursachen. Dann eben doch per Webserver.

SMS-Versand mit Skype: 11,7 cent pro SMS

Published 2006-07-06, 15:02

Gerade erst über Svoogle.org drauf gestoßen:

Ab sofort können SMS-Nachrichten über Skype an Mobiltelefone raus versandt werden. […] Nach Österreich sind es zum Beispiel 13,6, nach Deutschland 11,7 und in die Schweiz günstige 10,2 Eurocent (alle Preise inkl. Mehrwertsteuer)

http://share.skype.com/sites/de/2006/05/skype_fuer_windows_25_beta_sms.html
http://www.skype.com/products/skypesms/rates/#listing-G

Sehr amüsant übrigens:

Die klugen Leute bei Skype haben sich jedoch eine tolle Sache einfallen lassen, mit der es möglich ist, dass die Nachrichten als Absender deine Mobilnummer tragen.

Ja sind die doch klug, tatsächlich eine Handynummer als Absender anzugeben *staun

WordPress-Fehler: Falsche Zeitstempel bei Posts über XML-RPC-Schnittstelle – 2

Published 2006-07-05, 03:53

Ich habe mir den Fehler nun (natürlich) doch noch genauer angeschaut.

Erweiterung Analyse:

Ich habe mit dem Offline-Blogging-Programm Blogdesk weiter herumexperimentiert. Bei einem Post, der am 06.07.2006 um 03:11 Uhr veröffentlich werden soll übermittelt Blogdesk folgenden UTC-Zeitstempel:

<dateTime.iso8601>20060705T01:11:00</dateTime.iso8601>

In Zeile 551 der xmlrpc.php (und der Funktion dahinter) wird dieser jedoch wegen der fehlenden Zeitzone als Nutzerzeit (also +0200) behandelt (Zeile 673, wp-includes/functions-formatting.php). Somit werden diesem Zeitstempel nun erneut 2 Stunden abgezogen um eine GMT-Zeit ausgeben zu können, was dann zu den 2 fehlenden Stunden führt: 05.07.2006, 23:11.

Vermeintliche Lösung

Ich konnte leider nicht herausfinden, was xmlrpc und vor allem die MetaWeblogAPI hier eigentlich für ein Datenformat, mit oder ohne Zeitzone, UTC oder lokale Zeit, erwarten. Übermittelt man jedoch an die xmlrpc-Schnittstelle von WordPress einfach den Zeitstempel mit der angefügten Zeitzonendefinition für UTC +00 (Z scheint auch irgendwie nicht zu gehen)

<dateTime.iso8601>20060705T01:11:00+00</dateTime.iso8601>

trägt WordPress die korrekten Timestamps in die Datenbank ein.

Und das ist ja eigentlich alles, was ich erreichen wollte.

WordPress-Fehler: Falsche Zeitstempel bei Posts über XML-RPC-Schnittstelle

Published 2006-07-01, 17:53

Mir ist gerade ein weiterer WordPressbug aufgefallen:

Fehlerbeschreibung:

Wenn man einen Post per XML-RPC-Schnittstelle an WordPress übermittelt, kommt es zu Problemen bei der Berechnung der intern von WordPress genutzten Zeitstempel „post_date“ (lokale Zeit) und „post_date_gmt“ (Greenwich Mean Time).

Die Differenz sollte eigentlich 2 Stunden betragen, WordPress berechnet jedoch einen Zeitunterschied von 4 Stunden. Ein Post der um 17 Uhr veröffentlich werden soll hat in post_date_gmt also nicht 15, sondern 13 Uhr stehen.

Auswirkungen:

Dadurch erscheint der Beitrag nicht erst um 17 Uhr auf dem Blog, sondern wird fälschlicherweise schon ab 15 Uhr angezeigt. Der angezeigte Zeitstempel des Beitrag hingegen ist in Ordnung.

Applikationen, die die XML-RPC-Schnittstelle nutzen, können also nichts dafür (eigene, Blogdesk). Fehlersuche dort wird wohl eher nicht zu einem Ergebnis führen.

Analyse:

Der Fehler steckt irgendwo in den Zeilen 560 bis 566 der xmlrpc.php oder den dort aufgerufenen Funktionen:

// Do some timestamp voodoo
$dateCreatedd = $content_struct['dateCreated'];
if (!empty($dateCreatedd)) {
$dateCreated = $dateCreatedd->getIso();
$post_date = get_date_from_gmt(iso8601_to_datetime($dateCreated));
$post_date_gmt = iso8601_to_datetime($dateCreated, GMT);
}

Nachvollziehen kann ich es allerdings nicht wirklich. Zu viel anderes im Kopf gerade. Hat jemand Lust, sich das genauer anzuschaun?

mod_rewrite [P]-Zugriffe per .htaccess sperren

Published 2006-06-28, 12:55

Wunderbarer Beitragstitel :)

Server 1 spiegelt eine Anwendung von Server 2 durch die Nutzung von mod_proxy (mod_rewrite-Flag [P]). Um dies zu verhindern einfach auf Server 2 folgende .htaccess einbinden:

RewriteEngine On

RewriteCond %{REMOTE_ADDR} ^123.123.123.123$
RewriteRule ^(.*)$ http://server2.tld/$1 [L,R=301]

wobei 123.123.123.123 die IP von Server 1 ist. Schon wird der Nutzer auf die eigentliche Anwendungs-URL geleitet.

24 queries. 0,563 seconds.