Banner - Blog zu den Themen Programmierung, SEO, SEM, Social Media, Internet Marketing, Webdesign, IT-Service und Mehr - SEO Hannover - IT-Dienstleistungen und SEO Agentur Fly2Mars-Media.de

Archiv

Archiv für die Kategorie ‘Apache Webserver’

Memchache per Telnet löschen / leeren

Den Memcache des Apache könnt ihr wie folgt über Telnet Verbindung leeren/löschen/aktualisieren:

Connected euch zum telnet server und dem memcache port:

telnet localhost 11211

Wenn ihr erfolgreich connected wurdet, erhaltet ihr die Meldung “Connected to localhost.”

Danach einfach ein

flush_all

und mit

quit

wieder telnet beenden. Schon sollte alles “schön” sein! :-)

redirect mobile clients with mod_rewrite

If you want redirect mobile clients to an own domain, you can do this about the .htaccess file with the following code:

<IfModule mod_rewrite.c>
 RewriteEngine on
 RewriteCond %{HTTP_HOST} !^.mobile\.domain\.de$
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{HTTP_USER_AGENT} "acs|alav|alca|amoi|audi|aste|avan|benq|bird|blac|blaz|brew|cell|cldc|cmd-" [NC,OR]
 RewriteCond %{HTTP_USER_AGENT} "dang|doco|eric|hipt|inno|ipaq|java|jigs|kddi|keji|leno|lg-c|lg-d|lg-g|lge-" [NC,OR]
 RewriteCond %{HTTP_USER_AGENT} "maui|maxo|midp|mits|mmef|mobi|mot-|moto|mwbp|nec-|newt|noki|opwv" [NC,OR]
 RewriteCond %{HTTP_USER_AGENT} "palm|pana|pant|pdxg|phil|play|pluc|port|prox|qtek|qwap|sage|sams|sany" [NC,OR]
 RewriteCond %{HTTP_USER_AGENT} "sch-|sec-|send|seri|sgh-|shar|sie-|siem|smal|smar|sony|sph-|symb|t-mo" [NC,OR]
 RewriteCond %{HTTP_USER_AGENT} "teli|tim-|tosh|tsm-|upg1|upsi|vk-v|voda|w3cs|wap-|wapa|wapi" [NC,OR]
 RewriteCond %{HTTP_USER_AGENT} "wapp|wapr|webc|winw|winw|xda|xda-" [NC,OR]
 RewriteCond %{HTTP_USER_AGENT} "up.browser|up.link|windowssce|iemobile|mini|mmp" [NC,OR]
 RewriteCond %{HTTP_USER_AGENT} "symbian|midp|wap|phone|pocket|mobile|pda|psp" [NC]
 RewriteCond %{HTTP_USER_AGENT} "!(macintosh|ipad)" [NC]
 RewriteRule ^(.*)$ http://mobile.domain.de/ [L,R=302]
</IfModule>

XDebug auf Zend Server CE (Community Edition) unter Windows einrichten (mit PHP 5.2)

zend logoZwar ist ZendDebugger beim Zend-Server integriert, allerdings habe ich ihn mit phpStorm nicht zum laufen bekommen, von d.h. hier ein kurzes HowTo wie ihr xDebug in ZendServer integrieren könnt:

Ladet die Datei php_xdebug-2.1.1-5.2-vc6-nts.dll (ggf. höhere Version, nts-version ist für die non-thread-saved apache – version … phpinfo erkennt ihr welche Version ihr benötigt, alternativ testen ;-) von http://xdebug.org/files/ und packt sie in das entsprechende Verzeichnis, z.b. C:\Program Files\Zend\ZendServer\lib\phpext

Wenn ihr XDebug einsetzt, müsst ihr vorher den Zend Debugger deaktiviert, das geht über die Zend-Server Adminoberfläche wie folgt::

  1. Login auf der Benutzeroberfläche: http://localhost/ZendServer
  2. zum Reiter Server Setup wechseln
  3. Den Zend Debugger durch Klick auf den Button Turn off deaktivieren
  4. PHP neu starten (Button rechts unten)

Jetzt noch in der php.ini xdebug einbinden (liegt unter C:\Programme\Zend\ZendServer\etc):

zend_extension=”C:\Program Files\Zend\ZendServer\lib\phpext\php_xdebug-2.1.1-5.2-vc6-nts.dll”
zend_extension=”C:\Program Files\Zend\ZendServer\lib\ZendExtensionManager.dll”

Achtung: ZendExtensionManager.dll darf nur nach der php_xdebug.dll eingebunden werden!

Jetzt noch Server neu starten und xdebug sollte verfügbar sein. Prüft dazu die phpinfo ob xdebug dort auftaucht!

ZendServer CE: Pear konfigurieren & phpUnit installieren – Debug

Nach der Installation von Zend Server CE ist PEAR erst mal nicht einsatzbereit.
Konfigurieren lässt sich PEAR ganz einfach über den Aufruf der Datei …\ZendServer\bin\go-pear.bat (mit Admin-Rechten ausführen).

Startet die PEAR_ENV.reg (liegt ebenfalls unter …\ZendServer\bin\)!

Danach könnt ihr PHPUnit direkt über PEAR nach installieren, einfach im selben Ordner mit den Kommandos:
pear upgrade pear
pear channel-discover components.ez.no
pear channel-discover pear.phpunit.de
pear channel-discover pear.symfony-project.com

pear install –alldeps phpunit/PHPUnit

Taucht eine Fehlermeldung ähnlich:

Failed to download pear/HTTP_Request2 within preferred state “stable”, latest re
lease is version 2.0.0RC1, stability “beta”, use “channel://pear.php.net/HTTP_Request2-2.0.0RC1″ to install
install failed

so wechselt den Status mit pear config-set preferred_state beta und start die installation erneut!

Taucht ein Fehler ähnlich dem folgenden auf:

C:\Program Files\Zend\ZendServer\bin>pear install pear/XML_RPC2
SECURITY ERROR: Will not write to C:\Users\User\AppData\Local\Temp\pear\cache\
b521f99a31e9c4ca2b11faa4b5f31ef5rest.cacheid as it is symlinked to C:\Users\dani
el\AppData\Local\Temp\pear\cache\b521f99a31e9c4ca2b11faa4b5f31ef5rest.cacheid -
Possible symlink attack
install failed

Löscht einfach den Cache-Ordner! ;-)

SEO: Non-defensive URL construction – no duplicate content – regex

Um zu verhindern dass durch verschiedene Schreibweisen von URLs duplicate content entsteht,  ist es ratsam einheitliche URLs zu erzeugen (z.B. nur die kleinschreibweise zu akzeptieren).

Aus gründen der besseren Benutzbarkeit (usability) ist es natürlich von Vorteil auch verschiedene Schreibweisen der URL zu berücksichtigen, im Detail:

http://www.fly2mars-media.de/seoblog/

sollte genauso berücksichtigt werden wie

http://www.Fly2Mars-Media.de/SeoBlog/

allerdings soll für Google nur eine Schreibweise verwendet werden, da sonst ggf. ein duplicate content problem entsteht.

Die Lösung ist ein rewrite der URL über mod_rewrite, hier die Lösung:

RewriteEngine On
 # lowercase request_uri and redirect 301
 RewriteMap  lc int:tolower
 RewriteCond %{REQUEST_URI} [A-Z]
 RewriteRule (.*) ${lc:$1} [R=301,L]

Beachtet auch diesen Tipp: Apache: RewriteMap not allowed here Problem

Möchtet ihr bestimmte Ordner ausschließen, so könnt ihr dies z.b. für die Ordner tmp und cache wie folgt:

RewriteCond %{REQUEST_URI} !^/(tmp|cache)

Apache: RewriteMap not allowed here

Wenn ihr vom Apache die Fehlermeldung “RewriteMap not allowed here” bekommt, dann solltet ihr die RewriteMap nicht in die .htaccess anlegen. Selbst bei AllowOveride All dies nicht in der .htaccess möglich.

Um das Problem zu lösen, müsst ihr die Rewrite-Anweisungen in die vhost.conf (bzw. dort wo ihr euren vhost definiert habt) schreiben.