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!

redirect mobile clients with mod_rewrite

30. August 2011 at 12:00

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>

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.

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.

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;
 }