<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>mho.codus &#187; Quick n Dirty</title>
	<atom:link href="http://codus.mho.org.in/k/quick-n-dirty/feed/" rel="self" type="application/rss+xml" />
	<link>http://codus.mho.org.in</link>
	<description>Ein weiteres tolles WordPress-Blog</description>
	<lastBuildDate>Sat, 10 Jul 2010 10:20:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>.htaccess cache control + gzip</title>
		<link>http://codus.mho.org.in/quick-n-dirty/htaccess-cache-control-gzip/</link>
		<comments>http://codus.mho.org.in/quick-n-dirty/htaccess-cache-control-gzip/#comments</comments>
		<pubDate>Sun, 07 Feb 2010 18:04:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Quick n Dirty]]></category>

		<guid isPermaLink="false">http://codus.mho.org.in/?p=310</guid>
		<description><![CDATA[um die auslieferung von gleichbleibenden / statischen inhalten so sinnvoll wie möglich zu gestalten, kann und sollte man die cache kontrolle per .htaccess anpassen und inhalte komprimiert übertragen.]]></description>
			<content:encoded><![CDATA[<p>um die auslieferung von gleichbleibenden / statischen inhalten so sinnvoll wie möglich zu gestalten, kann und sollte man die cache kontrolle per .htaccess anpassen. die übertragenen inhalte werden also mit einer längeren gültigkeit / cache zeit an den client übertragen. zum einen beschleunigt das die ladezeiten, zum anderen senkt es die last und den traffic des servers.</p>
<h5>Cache-Control &#8211; mod_headers</h5>
<p>für die hier vorgestellte variante bedarf es dem <a class="extern" rel="nofollow extern" href="http://httpd.apache.org/docs/2.0/mod/mod_headers.html" target="_blank">apache module headers</a>.</p>
<blockquote><p>~#: a2enmod headers<br />
~#: /etc/init.d/apache2 force-reload</p></blockquote>
<p>aufgrund der dateiendung wird nun der Cache-Control eintrag modifiziert (oder auch nicht) und abschließend dem client übermittelt. sinnvollerweise sollte man die regeln auch auf javascript dateien und css deklarationen ausdehnen. welche lebenszeit man der datei letzten endes verpasst liegt einzig an den änderungen</p>
<blockquote><p>&lt;ifmodule mod_headers.c&gt;<br />
&lt;FilesMatch &#8220;\.(gif|jpe?g|png|swf)$&#8221;&gt;<br />
FileETag -INode MTime Size<br />
Header unset Last-Modified<br />
Header set Cache-Control &#8220;max-age=604800, public&#8221;<br />
Header set Expires &#8220;Thu, 31 Dec 2012 20:00:00 GMT&#8221;<br />
&lt;/FilesMatch&gt;<br />
&lt;/ifmodule&gt;</p></blockquote>
<h5>Cache-Control &#8211; mod_expires</h5>
<p>eine weitere / zweite möglichkeit um die cache-control einstellungen zu modifizieren bietet das <a class="extern" rel="nofollow extern" href="http://httpd.apache.org/docs/2.0/mod/mod_expires.html" target="_blank">apache module expires</a>. vermeintlich sollte man sich vorher natürlich für eine entscheiden da eine duale nutzung relativ sinnfrei ist.</p>
<blockquote><p>~#: a2enmod expires<br />
~#: /etc/init.d/apache2 force-reload</p></blockquote>
<p>wie der name vermuten lässt, ist das module expires nur für die einstellungen des verfalls der ausgelieferten daten zuständig. das nachfolgende beispiel ist das mod_headers pendant, bewirkt also so ziemlich genau das gleiche.</p>
<blockquote><p>&lt;ifmodule mod_expires.c&gt;<br />
ExpiresActive On<br />
ExpiresDefault “access plus 1 seconds”<br />
ExpiresByType image/x-icon “access plus 604800 seconds”<br />
ExpiresByType image/jpeg “access plus 604800 seconds”<br />
ExpiresByType image/png “access plus 604800 seconds”<br />
ExpiresByType image/gif “access plus 604800 seconds”<br />
ExpiresByType application/x-shockwave-flash “access plus 604800 seconds”<br />
&lt;/ifmodule&gt;</p></blockquote>
<h5>Content-Encoding &#8211; mod_deflate</h5>
<p>um den content noch ein wenig zu packen und somit den wirklich entstehenden traffic zu senken, bietet sich das <a class="extern" rel="nofollow extern" href="http://httpd.apache.org/docs/2.0/mod/mod_deflate.html" target="_blank">apache module deflate</a> an.</p>
<blockquote><p>~#: a2enmod deflate<br />
~#: /etc/init.d/apache2 force-reload</p></blockquote>
<p>nun könnte man prinzipiell alles, insofern der browser gzip codierte inhalte akzeptiert ausliefern. allerdings ist das packen von aktuellen bildformaten kontraproduktiv, da diese formate bereits auf das notwendige reduziert sind. wesentlich sinnvoller ist das packen von textinhalten, also css deklarationen, javascripten und webseiten.</p>
<blockquote><p>&lt;ifmodule mod_deflate.c&gt;<br />
&lt;FilesMatch “\.(css|js|html?|php)$”&gt;<br />
SetOutputFilter DEFLATE<br />
&lt;/FilesMatch&gt;<br />
&lt;/ifmodule&gt;</p></blockquote>
<p>welche dateien es nun lohnt zu cachen und / oder zu packen liegt am projekt und der dahinter liegenden umsetzung. </p>
]]></content:encoded>
			<wfw:commentRss>http://codus.mho.org.in/quick-n-dirty/htaccess-cache-control-gzip/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>htaccess ip sperren + anfrage weiterleiten</title>
		<link>http://codus.mho.org.in/quick-n-dirty/htaccess-ip-sperren-anfrage-weiterleiten/</link>
		<comments>http://codus.mho.org.in/quick-n-dirty/htaccess-ip-sperren-anfrage-weiterleiten/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 20:23:08 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Quick n Dirty]]></category>

		<guid isPermaLink="false">http://codus.mho.org.in/?p=222</guid>
		<description><![CDATA[eine domain resp. die htaccess so zu konfigurieren, das nur bestimmte ips zugriff auf den inhalt haben und die verbleibenden auf eine andere seite weitergeleitet werden.]]></description>
			<content:encoded><![CDATA[<p style="margin: 20px 0 20px 0;">es fing an wie immer. das telefon läutet, was es zur frohen jahreszeit ziemlich oft tut. das &#8216;<em>problem</em>&#8216; war: &#8220;eine domain resp. die <strong>htaccess</strong> so zu konfigurieren, das nur bestimmte ips zugriff auf den inhalt haben und die verbleibenden auf eine andere seite weitergeleitet werden.&#8221;. den anderen fall, wohl wesentlich häufiger anzutreffen, gezielt ip adressen auzusperren werde ich der vollständigkeit halber auch nochmal kurz beschreiben. doch zurück zur fragen oder besser gleich zur lösung, die nun wirklich kein hexenwerk darstellt.</p>
<p style="margin: 20px 0 20px 0;">durch eine kombination aus RewriteCond &amp; RewriteRule und der Variable REMOTE_ADDR bekommt man recht fix den gewünschten effekt zusammengeschustert. im beispiel werden alle adresse bis auf die ip <strong>127.0.0.1</strong> auf die uri <strong>http://codus.mho.org.in</strong> weitergeleitet. um weitere ip adressen zu erlauben setzt man einfach eine weitere rewrite condition vor der rewrite rule ein!</p>
<blockquote><p>RewriteEngine On<br />
RewriteCond %{REMOTE_ADDR} !^127\.0\.0\.1$<br />
RewriteRule .* http://codus.mho.org.in [L,R=301]</p></blockquote>
<p style="margin: 20px 0 20px 0;">der wesentlich öfter gefragte aber genauso oft im netz erklärte fall der vollständigkeit halber auch noch einmal. der ip 127.0.0.1 den zugriff auf die domain <strong>http://codus.mho.org.in</strong> untersagen.</p>
<blockquote><p>order deny, allow<br />
deny from 127.0.0.1</p></blockquote>
<p style="text-align: center;margin: 20px 0 20px 0;"><img class="aligncenter size-full wp-image-245" title="free sample" src="http://codus.mho.org.in/wp-content/uploads/2009/12/2440_2884_480.jpeg" alt="free sample" width="480" height="644" /></p>
]]></content:encoded>
			<wfw:commentRss>http://codus.mho.org.in/quick-n-dirty/htaccess-ip-sperren-anfrage-weiterleiten/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>asus eee 1000h langsam wlan unter xp</title>
		<link>http://codus.mho.org.in/quick-n-dirty/asus-eee-1000h-langsam-wlan-unter-xp/</link>
		<comments>http://codus.mho.org.in/quick-n-dirty/asus-eee-1000h-langsam-wlan-unter-xp/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 23:49:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Quick n Dirty]]></category>

		<guid isPermaLink="false">http://codus.mho.org.in/?p=208</guid>
		<description><![CDATA[heute hatte ich mal wieder den netbook klassiker vor mir und das nur, weil unter windows xp das wlan extrem langsam war. also genau genommen war es nicht existent.]]></description>
			<content:encoded><![CDATA[<p style="margin: 20px 0 20px 0;">heute hatte ich mal wieder den netbook klassiker vor mir und das nur, weil unter windows xp das wlan extrem langsam war. also genau genommen war es nicht existent, da jeder zweite versuch eines verbindungsaufbaus &#8211; egal ob ping, traceroute, wget oder firefox &#8211; die daten kamen selten am rechner an. ein wenig recherche  und nach genauerer betrachtung war der schelm endlich gefunden.</p>
<p style="margin: 20px 0 20px 0;">da nach dem auffrischen der treiber keine besserung ersichtlich war, versuchte ich erstmal den lan weg. und voila, die daten kamen zügig am asus an. der fehler liegt im detail und im falle des asus eee 1000h ( zumindest unter winXP ) liegt er in der treibereinstellung &#8220;stromsparmodus&#8221; des wlan treibers. hier sollte man die einstellung &#8220;MAX_PSP&#8221; peinlichst vermeiden. richtig und im angesprochenen fall auch des rätsels lösung ist die einstellung &#8220;CAM&#8221;.</p>
<p style="margin: 20px 0 20px 0;text-align:center;"><img class="aligncenter size-full wp-image-212" title="out of order" src="http://codus.mho.org.in/wp-content/uploads/2009/12/1296_7d1b.jpeg" alt="out of order" width="480" height="640" /></p>
]]></content:encoded>
			<wfw:commentRss>http://codus.mho.org.in/quick-n-dirty/asus-eee-1000h-langsam-wlan-unter-xp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>htaccess redirect index</title>
		<link>http://codus.mho.org.in/quick-n-dirty/htaccess-redirect-index/</link>
		<comments>http://codus.mho.org.in/quick-n-dirty/htaccess-redirect-index/#comments</comments>
		<pubDate>Sun, 29 Nov 2009 15:15:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Quick n Dirty]]></category>

		<guid isPermaLink="false">http://codus.mho.org.in/?p=153</guid>
		<description><![CDATA[auch im seohype oder einfach nur interessiert an eindeutigen links? rief mich heute ein freund an und fragte mich nach einem weg, um domain.tld/ nach domain.tld/index.php umzuleiten.]]></description>
			<content:encoded><![CDATA[<p style="margin-bottom: 10px;">auch im seohype oder einfach nur interessiert an eindeutigen links? rief mich heute ein freund an und fragte mich nach einem weg um <strong>domain.tld/</strong> nach <strong>domain.tld/index.php</strong> umzuleiten. der vernünftigste weg führt wohl über die htaccess &#8211; tricky like stairs?!</p>
<p style="text-align: justify;margin-bottom: 10px;"><span style="text-decoration: underline;">example #1:</span> <em>domain.tld/</em> -&gt; <em>domain.tld/index.php</em></p>
<blockquote><p>RewriteEngine On<br />
RewriteCond %{REQUEST_URI} ^/$<br />
RewriteCond %{HTTP_HOST} ^domain.tld$<br />
RewriteRule ^$ http://%{HTTP_HOST}%{REQUEST_URI}index.php [L,R=301]</p></blockquote>
<p style="text-align: justify;margin-bottom: 10px;"><span style="text-decoration: underline;">example #2</span><span style="text-decoration: underline;">:</span> <em>domain.tld/subdir/</em> -&gt; <em>domain.tld/subdir/index.php</em></p>
<blockquote><p>RewriteEngine On<br />
RewriteCond %{REQUEST_URI} ^/<em>subdir/</em>$<br />
RewriteCond %{HTTP_HOST} ^domain.tld$<br />
RewriteRule ^$ http://%{HTTP_HOST}%{REQUEST_URI}index.php [L,R=301]</p></blockquote>
<p style="text-align: center;margin: 20px 0 20px 0;"><img class="aligncenter size-full wp-image-166" title="tricky-stairs" src="http://codus.mho.org.in/wp-content/uploads/2009/11/tricky-stairs1.jpeg" alt="tricky-stairs" width="480" height="575" /></p>
]]></content:encoded>
			<wfw:commentRss>http://codus.mho.org.in/quick-n-dirty/htaccess-redirect-index/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comodo SiteSeal Error Internet Explorer</title>
		<link>http://codus.mho.org.in/quick-n-dirty/comodo-siteseal-error-internet-explorer/</link>
		<comments>http://codus.mho.org.in/quick-n-dirty/comodo-siteseal-error-internet-explorer/#comments</comments>
		<pubDate>Sun, 20 Sep 2009 16:43:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Quick n Dirty]]></category>

		<guid isPermaLink="false">http://codus.mho.org.in/?p=56</guid>
		<description><![CDATA[die von comodo gelieferte anleitung für das einbinden des siteseals / cornertrust ist leicht schlampig und erzeugt fehler im Internet Explorer. nachfolgender codesnippet löst das problem.]]></description>
			<content:encoded><![CDATA[<p>das comodo siteseal, speziell der corner trust sehen schon recht schick aus. leider weniger erfreulich, wenn kunden durch eine IE fehlermeldung a la &#8216;Unsichere Elemente&#8217; abgeschreckt werden und evtl. den einkauf sogar beenden. wie üblich gehe ich auf den syntax nicht näher ein, da die funktionsweise doch sehr überschaubar ist.</p>
<h5>step 1</h5>
<p>bindet das javascript von comodo ein und wird im <em>head</em> eingebunden. dieser teil kann 1:1 übernommen werden.</p>
<blockquote><p>&lt;script language=&#8221;javascript&#8221; type=&#8221;text/javascript&#8221;&gt;<br />
var cot_loc0 = (document.location.protocol == &#8220;https:&#8221;)? &#8220;https://secure.comodo.net/trustlogo/javascript/cot.js&#8221; : &#8220;http://www.trustlogo.com/trustlogo/javascript/cot.js&#8221;;<br />
document.write(unescape(&#8220;%3Cscript src=&#8217;&#8221; + cot_loc0 + &#8220;&#8216; type=&#8217;text/javascript&#8217;%3E%3C/script%3E&#8221;));<br />
&lt;/script&gt;</p></blockquote>
<h5>step 2</h5>
<p>das logo, welches für gewöhnlich auf dem eigenen webserver platziert wird / hier auf der zu ersetzenden beispieldomain &#8220;codus.mho.org.in&#8221;. dieser part sollte idealerweise im body bereich oberhalb von <em>&lt;/body&gt;</em> eingebunden werden.</p>
<blockquote><p>&lt;script language=&#8221;JavaScript&#8221; type=&#8221;text/javascript&#8221;&gt;<br />
var cot_image_location = (document.location.protocol == &#8220;https:&#8221;)? &#8220;https://codus.mho.org.in/images/cornertrust.gif&#8221; : &#8220;http://codus.mho.org.in/images/cornertrust.gif&#8221;;<br />
COT(cot_image_location, &#8220;SC2&#8243;, &#8220;none&#8221;);<br />
&lt;/script&gt;</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://codus.mho.org.in/quick-n-dirty/comodo-siteseal-error-internet-explorer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
