Archiv der Kategorie: PHP-Scripte

Löschen von einzelnen Variablen aus URLs

Als ich mir heute einen eigenen Referer-Logger zusammengefummelt habe, suchte ich nach einer Möglichkeit, einzelne Variablen aus URLs löschen zu können. Google ist beispielsweise für Konstrukte wie http://www.google.nl/search?q=Joachim+Fest+Ich+nicht&hl=nl&start=50&sa=N bekannt. Das kann ich zwar schön speichern, aber wenn nun jemand mit dem Referer http://www.google.nl/search?q=Joachim+Fest+Ich+nicht&hl=nl&start=10 die Seite betritt, würde dies als neuer Eintrag gespeichert werden, obwohl mich gerade bei Google nicht juckt, über welche Unterseite mit welchem kryptischen Parameterwust ein Besucher meine Seite gefunden hat. Also habe ich da mal was gestrickt. Die Funktion deleteFromURL bekommt eine URL und ein Array zu löschender Variablen eingetrichtert und liefert die bereinigte URL. So wird aus obigem Beispiel, mit dem richtigen Array, die bereinigte URL http://www.google.nl/search?q=Joachim+Fest+Ich+nicht.

function deleteFromURL ( $url, $queriesToDelete ) {
	$parsedURL = parse_url ( $url );
	parse_str ( $parsedURL['query'], $parsedQuery );
	foreach ( $queriesToDelete as $single ) {
		if ( isset ( $parsedQuery[$single] ) ) {
			unset ( $parsedQuery[$single] );
		}
	}
	$url = $parsedURL['scheme'] . '://'
	 . $parsedURL['host']
	 . $parsedURL['path'] . '?'
	 . http_build_query ( $parsedQuery );
	return $url;
}

404 Redirector

Neue Version verfügbar!

Wer – wie ich – von einem Tag auf den anderen seine Internetseite umstellt, läuft Gefahr, die alten Inhalte komplett unzugänglich zu machen. Eine kleine Lösung dazu habe ich in Form des 404 Redirectors geschrieben. Als WordPress-Plugin ist es möglich, ein Verzeichnis sowie eine URL einzugeben, in denen nach der angeforderten Datei oder einem Verzeichnis gesucht wird. Zunächst wird im angegebenen Verzeichnis nach der angefragten Datei gesucht und, sollte sie dort vorhanden sein, anschließend dorthin verwiesen. Ich kann dies ausnutzen, da meine Internetseite (früher) sowohl unter http://www.nicohaase.de als auch unter http://www.buchtips.net/nh/ verfügbar war, beides verwies auf dieselben Daten auf dem Webserver. Meine persönliche URL nutzt nun ein anderes Root-Verzeichnis, die bisherigen Daten liegen aber noch unter der zweiten URL vor, von wo sie noch abgerufen werden können.