Wartungsseite / Wartungsmodus über mod_rewrite definieren? Wartungsseiten in Magento

18. Mai 2012 at 14:18

Ihr möchtet eine Wartungsseite über mod_rewrite für verschiedene Hosts (Domains / Webseiten) und als Ausnahme z.B. das interne Firmennetzwerk definieren?

Hier die Lösung über mod_rewrite:

############################################
## Maintenance window
RewriteCond %{HTTP_HOST} ^domain1\.de$
RewriteCond %{HTTP:x-forwarded-for} !^192\.168\.0\.13$
RewriteCond %{REQUEST_URI} !^/media/ [NC]
RewriteRule .* tools/wartung/maintenance_page1.php [L]
RewriteCond %{HTTP_HOST} ^domain2\.de$
RewriteCond %{HTTP:x-forwarded-for} !^192\.168\.0\.13$
RewriteCond %{REQUEST_URI} !^/media/ [NC]
RewriteRule .* tools/wartung/maintenance_page2.php [L]
RewriteCond %{HTTP_HOST} ^domain3\.de$
RewriteCond %{HTTP:x-forwarded-for} !^192\.168\.0\.13$
RewriteCond %{REQUEST_URI} !^/media/ [NC]
RewriteRule .* tools/wartung/maintenance_page3.php [L]

 

Gleichseitig sollte auf der maintenance_page ein 503-Status-Code ausgegeben werden, z.B. mit folgender Seite:

<?php

<?php
ob_start();
header('HTTP/1.1 503 Service Temporarily Unavailable');
header('Status: 503 Service Temporarily Unavailable');
header('Retry-After: 3600');
header('X-Powered-By:');
?><!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>503 Service Temporarily Unavailable</title>
</head><body>
<h1>Service Temporarily Unavailable</h1>
<p>The server is temporarily unable to service your
request due to maintenance downtime or capacity
problems. Please try again later.</p>
</body></html>

?>

Gefällt euch der Artikel? Dann bitte bewerten und bei Facebook & Google+ teilen!
Danke für euren Support!

GD Star Rating
loading...
GD Star Rating
loading...

Screen Session unter Linux starten

16. April 2012 at 17:03

Ihr möchtet sicher gehen dass ein längerer Script definitiv ausgeführt wird, auch wenn z.B. die Terminal-Session geschlossen wird?

Dafür gibt es das GNU/Linux Tool „screen“.

Mit
screen -ls

könnt ihr euch alle laufenden Screen-Sessions anzeigen lassen.

Eine neue Session startet ihr mit
screen -S sessionname

Die eröfnete Session wieder fort führen mit
screen -r sessionname

Weitere Informationen zu Screen wie immer mit
man screen

 

GD Star Rating
loading...
GD Star Rating
loading...

Probleme mit mod_rewrite beim Zend Server Community Edition

13. Juni 2010 at 03:03

zend logoNach dem Umstieg von XAMPP auf die Zend Server Community Edition musste ich fest stellen dass keine lokalen .htaccess-Dateien berücksichtigt werden, obwohl das mod_rewrite-Modul ordnungsgemäß geladen wurde.

Ein Blick in die httpd.conf des dazugehörigen Apache Webservers brachte schnell Klarheit. In der Apache-Konfiguration,  der httpd.conf, war die Direktive AllowOverride none für das Root-Verzeichnis (unter Windows standardmäßig: C:\Programme\Zend\Apache2/htdocs) gesetzt. Diese muss auf „all“ gesetzt werden damit .htacces-Dateien berücksichtigt werden, danach funktioniert mod_rewrite wie gewünscht.

GD Star Rating
loading...
GD Star Rating
loading...

Aufbau der Datei robots.txt – Seiten für die Robots konfigurieren

29. Oktober 2009 at 14:04

Oft ist es sinnvoll bestimmte Seiten oder gar Bereiche einer Web-Seite vor der Indizierung von Suchmaschinen zu schützen. Zum Beispiel wenn es sich um Administrative, oder Seiten an denen noch gearbeitet wird, handelt.
Ggf. wollen Sie auch bestimmte Bilder, Logfiles oder Programmdateien vor der Indizierung der Suchmaschinen schützen damit diese nicht in den Suchergebnissen angezeigt werden.

Um dem gerecht zu werden wurde der Robots Exclusion Standard eingeführt, an den sich seriöse Suchmaschinen wie Google, Bing oder Yahoo! orientieren.

Nach diesem Standard muss eine Textdatei mit dem Namen robots.txt erstellt und diese im Stammverzeichnis der Domain platziert werden, so dass die Robots sie finden und beachten können.

<pre>http://www.beispiel.de/robots.txt
http://download.beispiel.de/robots.txt
http://beispiel.de:8080/robots.txt
</pre>

Der Aufbau der robots.txt erfolgt nach dem folgendem Shema. Zuerst gibt man an für welchen Crwaler eine Anweisung gelten soll, gefolgt von den einzelnen Anweisungen:

# robots.txt fuer http://www.beispiel.de/
User-agent: BeispielRobot
Disallow: /temp/       # Die Dateien sind nur Temporär und nicht von Bedeutung
Disallow: /logfiles/   # Sollen nicht allg. Verfügbar sein
Disallow: /bilder/     # Bilder sind teilweise geschützt und nicht zum download bestimmt
Disallow: /cgi-bin/    # CGI Ausgaben nicht indizieren
Disallow: /privat.html # Die pirivat.html soll nicht über die Suchmaschine gefunden werden

Mit User-agent: BeispielRobot bestimmt man, dass die Anweisungen nur für den genannten Crawler (BeispielRobot) gelten. Mit Hilfe der einzelnen Disallow Einträgen werden Verzeichnisse und Dateien bestimmt, welche nicht indiziert werden sollen. Mit Hilfe des Raute-Symbol (#)können Kommentare definiert werden, diese werden von den Robots ignoriert.

Ein Ausschluss aller Crawler ist mit Hilfe des sog. Wildchar * möglich:

# Alle Robots ausschließen
User-agent: *
Disallow: /temp/

Sollen nur bestimmte Crawler ausgeschlossen werden, sondern kann man diese wie folgt realisieren:

# Download-Tools vom CGI Verzeichnis fernhalten
User-agent: webmirror
User-agent: webzip
User-agent: webcopy
User-agent: wget
Disallow: /cgi-bin/

Eine Seite ganz von der Indizierung durch Suchmaschinen auszuschließen geht wie folgt:

# Komplette Webseite für alle Robots sperren
User-agent: *
Disallow: /

Durch entfernen des Slash (/) wird die Seite ganz für die Indizierung frei gegeben:

# Ganze Seite für Robots freigeben
User-agent: *
Disallow:

Die Groß- und Kleinschreibung wird bei Disallow Einträgen nicht durch die Robots berücksichtigt.

Sie Benötigen Unterstützung bei der Anpassung Ihrer robots.txt oder Optimierung (SEO) Ihrer Webseite bzw. Optimierung der Inhalte?

Fly2Mars-Media unterstützt Sie in diesen und vielen anderen Bereichen rund um das Thema Internet & IT!

Für ein individuelles Angebot nehmen Sie noch heute Kontakt mit uns auf.

GD Star Rating
loading...
GD Star Rating
loading...

Cheet Sheets für Web-Entwickler

28. Oktober 2009 at 09:10

Hier findet ihr ein paar nützliche Cheet-Sheets für Web-Entwickler für HTML, XHTML, CSS, Apache, mod_rewrite, reguläre Ausdrücke, Java-Script, MySQL, Smarty und Jquery.

GD Star Rating
loading...
GD Star Rating
loading...

Pro & Kontra des cloud computing

23. Oktober 2009 at 11:03

Cloud Computing ist einer der Top-Themen 2009! Das Konzept dahinter ist nicht wirklich neu, gerade große Unternehmen setzen dieses oder ähnliche Konzepte seit Jahren ein zwecks Lastenverteilung, Ausfallsicherheit oder als Backup-Strategie.

Aber wie sicher ist Cloud Computing? Lohnt sich ein Umstieg? Was sind die Pro & Kontra?

Das „Sidekick-Desaster“ in der vergangenen Woche hat nicht nur den beteiligten Firmen Microsoft, Danger und T-Mobile schlechte Presse beschert, sondern auch dem Thema Cloud Computing. Alle Daten der Sidekick-Nutzer waren auf Servern innerhalb der Cloud gespeichert und gingen durch ein misslungenes Update verloren. Und zum Spot für die Kritiker war kein Backup vorhanden. Dabei werden die Ausfall- und Backup-Sicherheit mit als die Stärken des Cloud Computing verkauft.

Hier möchten wir Euch eine kurze Übersicht der Pro & Kontras geben:

pro

  • Durch Cloud Services ist der Zugriff auf Anwendungen und damit das Arbeiten von überall möglich – Der Designer kann von zu Hause genauso auf die Applikationen zu greifen wie von einem Internet-Café im Urlaub. Dadurch werden Fixkosten gespart da z.B. nicht für jeden Client eine Lizenz erforderlich ist.
  • Sehr hohe Erreichbarkeit. Teilweise wird mit 100% Uptime geworben, allerdings kann diese Zahl wohl nicht immer gewährleistet sein. Z.B. bei Server-Ausfall können einzelne Knoten ausfallen oder überlastet sein bis der Ausfall der Server oder die Wiederherstellung des Backup abgeschlossen ist.
  • Cloud Computing erfordert nur geringe Investitionen. Gerade kleinere Unternehmen/Webseiten verfügen nur über ein geringes Eigenkapital. Anstatt Zeit und Geld in Technik zu investieren können sie sich auf ihr Produkt konzentrieren.

Contra

  • Abhängigkeit des Anbieters der Cloud-Applikation bzw. des Dienstes. Hat dieser technische Probleme oder geht gar in die Insolvenz, so ist es selten möglich „mal eben“ selbst ein Cloud-Server-Dienst zur Verfügung zu stellen (im Vergleich zu einem auf Apache & Linux basierten Webserver).
  • Datenschutz und Sicherheit: Die Daten liegen verteilt auf verschiedene Server & Standorte . Teilweise nicht durchschaubar wer auf diese Daten Zugriff hat, wo deren Standorte sind, wie das Backup-Konzept läuft, etc.! Es bleibt meist nur dem Anbieter zu vertrauen, dass er Informationen ausreichend vor Missbrauch schützt und ein gutes Backup-Konzept fährt.
  • Die Performance von Cloud-Diensten und vor allem Anwendungen welche Offline-Client-Applikationen ablösen, hängt von der Geschwindigkeit des Internet-Zugangs ab. Bei lokalen Anwendungen gibt es das Problem nicht!
  • Der Zugriff auf den Dienst hängt von der Verfügbarkeit des Dienstes/Anbieters ab. Bei z.B. Wartungsarbeiten, ist der Dienst nicht verfügbar. Zeitkritische Aufgaben können in diesem Fall ggf. nicht fertig gestellt werden.
  • Durch Cloud Services ist zudem ein verteiltes Arbeiten möglich. Der Redakteur kann im Internet-Café im Himalaya sitzen und dort an seinen Texten arbeiten. Präsenzarbeit ist überflüssig und es werden Fixkosten eingespart.
GD Star Rating
loading...
GD Star Rating
loading...

ZendServer Installation Problem – Lösung

20. Oktober 2009 at 20:46

Solltet ihr bei der Zend Server Installation unter Windows Vista die Fehlermeldung „Error: -1622 Beim Öffnen der Datei des Installationsprotokolls ist ein Fehler aufgetreten. … “ oder auf engl. „Error -1622 Error opening installation log file. Verify that the specified log file location exists and that you can write to it.“ erhalten, hier die Lösung.

Das Problem liegt wahrscheinlich in der Vorkonfiguration des NTFS „junction points“.
Zur Lösung des Problems einfach folgende Schritte ausführen:
  • Eingabeaufforderung unter Vista öffnen (Windows-Taste + R)
  • Den Tast (Eingabeaufforderung) mit Administrator-Rechten öffnen (rechter klick auf die cmd.exe im Start-Menu und „Als Administrator ausführen“ wählen)
  • In der Eingabeaufforderungen (CMD-Box) gebt ihr ‚echo %ALLUSERSPROFILE%‘ ein. Die Ausgabe sollte als junction point der Profile „Application Data“ anzeigen, in diesem Fall könnt ihr die restlichen Schritte überspringen. Ist die Ausgabe „C:\ProgramData“ so könnt ihr dies wie folgt ändern:
  • Gebt ‚cd \ProgramData‘ ein und wechselt
  • Löscht den Ordner ‚rmdir „Application Data“‚ (das entfernt den falschen junction point).
  • Verlinkt den junction point neu mit ‚mklink /j „Application Data“ C:\ProgramData‘
  • Zend Server erneut installieren
GD Star Rating
loading...
GD Star Rating
loading...

Mit mod_rewrite das www hinzufügen oder löschen

14. Oktober 2009 at 13:11

Um doppelten Inhalt auf verschiedenen Domains zu vermeiden ist es ratsam, sich auf eine Domain zu beschränken.
Dabei ist zu beachten dass die Domain „www.fly2mars-media.de“ nicht gleich „fly2mars-media.de“ ist.

Das „www“ am Anfang ist eine Subdomain, die in früheren Zeiten des Internets anzeigen sollte, daß der WorldWideWeb Teil der Domain aufgerufen werden soll, im Gegensatz zu z.B. ftp / gopher / irc usw. In der heutigen Zeit ist dies hinfällig, aber viele Websurfer sind es immer noch gewohnt, stur das „www“ vor die Domain zu tippen.

Auch eine Subdomain gilt für Suchmaschinen als eigenständige Domain und wird ggf. negativ in Bezug auf Doppelten Inhalt (Duplicate Content) gewertet.

Um die Domain auf eine der beiden Möglichkeiten zu beschränken und die Besucher auf diese weiter zu leiten, kann man sich des mod_rewrite Moduls vom Apache bedienen. Dazu wird einfach eine Datei .htaccess im Hauptordner der Webpräsenz (Document Root) anlegen und einen der folgenden Code-Zeilen  einfügen.

per .htaccess-file:

RewriteCond %{HTTP_HOST} !^www\.fly2mars-media\.de [NC]
RewriteRule ^(.*)$ http://www.fly2mars-media.de/$1 [L,R=301]

Weiterleitung aller ankommenden Anfragen auf eine www-Domain:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.meine-domain\.de$
RewriteRule ^(.*)$ http://www.meine-domain.de/$1 [L,R=301]
</IfModule>

Weiterleitung aller www-Domains auf ihr Nicht-www Pendant:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ http://%1/$1 [L,R=301]
</IfModule>

Weiterleitung aller Nicht-www Domains auf ihr www-Pendant:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.(.*)$
RewriteRule ^(.*)$ http://www.%1/$1 [L,R=301]
</IfModule>

Eine Weiterleitung ist auch über PHP möglich, sollte aus irgend welch Gründen eine Weiterleitung über mod_rewrite nicht möglich sein, so realisiert ihr das über PHP wie folgt (mod_rewrite Variante ist klar vorzuziehen!!!):

if ( $_SERVER['HTTP_HOST'] == 'projekt.de' ) {
  header("HTTP/1.1 301 Moved Permanently");
  header("Location: http://www.projekt.de");
exit;
 }
GD Star Rating
loading...
GD Star Rating
loading...